【パイテスト】
pytest とは?
最終更新:
💡 Pythonの動きを確かめ、違いを見つける
Pythonのテストを収集・実行し、成功や失敗を報告するフレームワーク。関数とassert文で確認を書け、fixtureで準備・後片付けを管理する。複数の入力を試す機能も標準で備える。
📌 このページのポイント
- test_で始まる関数などを収集して実行する
- assert文で、結果が期待どおりか確認する
- fixtureで、必要な準備や後片付けを管理する
- parametrizeは標準機能、プラグインで機能を追加できる
Pythonの処理が正しく動くか、毎回手で確かめるの?
確認をテストとして書くと、pytestで繰り返し実行できるよ。たとえばtest_sample.pyに、test_addという関数を書いて、その中で「assert 2 + 3 == 5」と確認する。pytestは対象のテストを収集し、結果を報告するんだ。
assertって何をするの?
条件が成り立つかを確認するPythonの文だよ。期待と違えばテストが失敗する。pytestは失敗した式の値なども表示するので、違いを調べやすい。ただし、書いた確認の範囲での成功だから、テストが通ることとバグが一切ないことは別だよ。
毎回テスト用のデータを用意するのは大変そう。
fixtureに準備の処理をまとめられるよ。テスト関数の引数へfixtureの名前を書くと、その値を使える。yieldを使うfixtureなら、後ろに後片付けを置ける。テストごとなど、fixtureを共有する範囲も設定できるんだ。
入力を変えて、同じ確認を何度もしたい!
前にunittestやnoseで書いたテストも使える?
まとめ:ざっくりこれだけ覚えればOK!
「pytest」って出てきたら「Pythonの動きを確かめ、結果を報告するテストツール」と思えばだいたいOK!
📖 おまけ:英語の意味
「pytest」 = Python向けのテストツールの名前
💬 公式の表記は小文字のpytest。Pythonで書いたテストを収集・実行するツールだよ。