ホーム 1. Python を始める 2. 基本仕様 3. クラス 4. モジュールとパッケージ 5. ファイル操作 6. 例外 7. ジェネレータ 8. テスト
概要 pytest の基本的な使い方を記載します。 適宜参照するための公式ドキュメントページ Full pytest documentation API Reference インストール 適当なパッケージマネージャ等でインストールできます。 sudo apt install python-pip pip install pytest which pytest /home/vagrant/.local/bin/pytest 実行方法 test_sample.py #!/usr/bin/python # -*- coding: utf-8 -*- class TestClass(object): def test_one(self): x = "this" assert 'h' in x def test_two(self): self.y = "hello" assert hasattr(s
Pytestを実行するときに知っておくと便利なコマンド&オプションをまとめました。 環境 Python3.6 pytest 4.3.0 venv 特定のテストのみを実行する モジュールを指定して実行 モジュール毎にテストを実行します。 pytest test_1.py パスを指定して実行 フォルダ別にテストを実行します。 pytest testing/ キーワードを指定して実行 文字列に含まれるキーワードにマッチするもののみを実行します。 マッチング対象はファイル名、クラス名、関数名です。 pytest -k "MyClass and not method" 上の例の場合、”TestMyClass”のキーワードを含むテストを実行しますが、”method”キーワードを含むものは除きます。 例えば、 "TestMyClass.test_something" は実行されますが、 ”TestMyC
Python + pytestにて、コマンドラインオプションを追加して、コマンドラインから値を受け取った時のメモを残します。 目次 環境 pytestのコマンドラインオプションの追加方法 conftest.pyの実装 テストコードの実装 テストの実行 応用:コマンドラインオプションで指定したテストコード以外はスキップする conftest.pyの実装 テストコードの実装 テストの実行 conftest.pyについて ソースコード 環境 Python 3.6.3 pytest 3.2.3 pytestのコマンドラインオプションの追加方法 公式ドキュメントに情報がありました。 Basic patterns and examples — pytest documentation conftest.py にて、コマンドラインオプションの追加を実装 テストコードにて、コマンドラインオプションの値を受
pytestのテスト関数にパラメータつけてみる(parametrize, pytest_generate_tests)Pythonテスト自動化pytest 単体テスト書いてますか? めんどくさくてサボりがちになってしまいますが。ていうか、サボってますが。今後もコードを触る可能性があるなら、単体テストを書く作業は必ずペイします。低リスク、利益率数百パーセントという夢のような投資です。 これ読みに来てる人は、そんなの分かってると信じて。 テストコードをコピペする作業に飽きた人のために、pytestのテスト関数にパラメータ付けをしてみます。 今回は、私が開発している量子コンピュータ用ライブラリBlueqatで実際に使われているテストコードから、実際の例を抜き出してみます。 pytest.mark.parametrizeを使う 見た方が早いので、いきなり実例です。 @pytest.mark.par
Pythonでテストをパラメータ化した時の書き方を unittest と pytest を使った場合で紹介し、最後にそれらで使えるparameterizedというライブラリを紹介します。 ちなみに私はpytestよりもunittest派です。 はじめに テストを書いていると値が違うだけのケースを複数確認したくなる時があります。 例えば、1 + 1 = 2, 2 + 3 = 5, 32 + (-32) = 0, …などのようなケースです。 これをすべて別のテストケースとして書き下すのは面倒ですしメンテも大変なことになるので、テストフレームワークは大抵こんなテストが簡単にできる仕組みを提供しています。 今回はPythonでよく使われているunittest(標準ライブラリ)とpytestでこれらのテストの書き方を紹介します。 なんでいまさら?と思われそうですが、pytestはともかくunitte
※こちらはZeals AdventCalendar 12日目の記事です。 こんにちは! Pythonエンジニアの荒木です。 夏頃に社内の開発プロジェクトにPythonメンバーとしてアサインされ、本格的にPythonを業務で書くようになり、最近はほぼ毎日Pythonを書いています。 Pythonの業務としては主に新機能実装とDBリファクタリングをやっています。 今日はpytestのparametrizeの基本的な使い方と parametrizeでちょっと詰まったところがあったので、それらについて書きます。 目次は以下のようになります。 前提 parametrizeについて parametrize とは parametrize の使い方 fixtureをparametrizeする fixtureとは fixtureのparametrize 終わりに 前提 まず、以前にこちらの記事で紹介したよう
はじめに 何事もまずは標準装備の機能からちゃんと使えるようになろうと思って、PythonのUnittestをちょくちょく触っていたんですが、案件ではpytestを使っています。pytestの書き方にも慣れてきて、毎日読んだり書いたりしていますが、受け身一方で身の回りにあるコード例しか知らない。これはあんまり良くないと思って、ちゃんと自力でディグって使えそうなコマンドとか機能を発掘しようというと思い立ちました。あと、pytest.Parameterizeと仲良くなりたくて。Parameterizeが本題です。 成果物 pytest.Parametarize の基本 ここに関数があります。StringをIntに変換してくれるだけのやつです。世界一作る意味の無い関数の内の1つですね。 def convert_str_into_int(x): return int(x) さて、この関数をテストする
この記事はBASE Advent Calendar 2019の20日目の記事です。 devblog.thebase.in PAY株式会社でテックリードを務める東と申します。 主にバックエンド全般に広く携わっています。最近はサーバーアプリばかり書いていますがインフラもわりとやります。 当ブログの読者の方には弊社のことをご存じない方もたくさんいらっしゃるかと思いますので、簡単に社の紹介をさせていただきます。 PAY株式会社はBASE株式会社の100%子会社で、オンライン決済サービス「PAY.JP」とID決済サービス「PAY ID」などの決済サービスを開発・運営している会社です。 「支払いのすべてをシンプルに」をミッションに掲げ、お金を扱うすべての事業者・個人がもっと豊かな生活ができることを目指しています。 さて、決済というミッションクリティカルなテーマを扱うにあたって、品質保証は最も重要な課題
無数に存在するpytestのオプションについて、今日は最低限知っておきたい便利なものを4つを紹介します。 実際に自分も色々試してみたのですが、結局よく使ってるのはこの4つぐらいなので、恐らくこれだけ知っておけば大体何とかなることでしょう…。 オプションの使い方について 以下で紹介するオプションを利用する場合は、$pytestを実行する際に、オプション引数を付与します。例えば、1つ目の例だと$pytest -vまたは$pytest --verboseというように実行します。 -v/--verbose テスト結果について、デフォルトよりも詳しい情報を出力。 -s/--capture=method テスト実行中にprint文の出力を標準出力に書き出す。 --lf/--last-failed 前回のテストで失敗したテストのみ再び実行。何度もテスト行う際に便利です。 -m MARKEXPR ソースコ
pytestはPythonのテストフレームワークの一つ。 unittestなど他のフレームワークと比較して、テストに失敗した原因が分かりやすい。 この記事ではpytestの使い方に関して、公式のドキュメントを参考にメモする。 インストール pipなどを使用してインストールする。 基本的な使い方 基本的にはassertで望む結果を書く。 ここではtest_assert1.pyというテスト用のファイルを作成する。test_で始まる関数がテスト対象となる。ディスカバリーのルールに関してはこの記事の最後に明記する。 $ pytest test_assert1.py =========================== test session starts ============================ platform linux -- Python 3.x.y, pytest-3.
はじめに pytestはPython用のテストツールです。 標準のunittestに比べ、テストエラー時の結果が分かりやすいのが特徴です。 例として、辞書オブジェクトを比較する以下のテストコードをunittestとpytestそれぞれで実行してみます。 # test_dict.py import unittest dict1 = {'name': 'Tom', 'age': 20} dict2 = {'name': 'John', 'age': 23} class TestUnitTest(unittest.TestCase): def test_one(self): assert dict1 == dict2 $ python -m unittest F ===================================================================
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く