Skip to content

pytest - テスト関数の作成#

モジュール内のtestは「tests」ディレクトリへ格納し、「src」などのパッケージソースファイルを格納 しているディレクトリとは分けるのがベストプラクティス。

機能テスト(func)とユニットテスト(unit)を分けるのは必須ではないが、テストの一部を簡単に実行できるため 分けた方がベター。 また、機能テストが失敗するのはシステムの機能を意図的に変更した場合に限られるはずで、 これに対し、ユニットテストはリファクタリングや実装上の変更の途中で失敗することがあるため。

演習準備#

C:\Users\omron\Documents\20_Python\テスト駆動Python python -m venv ./venv/Script/activate.ps1 pip install ./tasks_proj/

pytestでは、任意の式をassert[ 式] 形式で使用できます。 bool値に変換される式がFalseと評価された場合、そのテストは失敗します。 pytestには、「assertの書き換え」と呼ばれる機能があります。 この機能は、assertの呼び出しをインターセプトし、アサーションが失敗した理由をさらに詳しく説明できる何かに置き換えます。

エラーの原因となった正確な行が>プロンプトで示されています。Eで始まる行には、assertの失敗に関する情報がさらに表示されており、 何がうまくいかなかったのかを突き止めるのに役立ちます。