6章pytestによるテスト
初めてプログラムを書いた日のことを思い出してください。このような経験はないでしょうか。目の前にある問題を解決するアイデアがあり、かなりの時間を費やしてそのアイデアを最後まで実装したのに、いざ実行してみると、がっかりするようなエラーメッセージで画面が埋め尽くされたとか。あるいは、出力された結果が微妙に間違っていたとか。
このような経験を経て、私たちは教訓を得ました。まず、プログラムはシンプルに始めて、シンプルに保ち続けることです。そして、早い段階から繰り返しテストすることです。最初の段階では、プログラムを手動で実行して、期待通りに動くことを確認するだけでもよいでしょう。その後に、プログラムを小さく分割すれば、分割した部品単位で自動的にテストできます。また、小さく分割すればプログラムも読みやすくなり、作業しやすくなります。
本章では、テストがどのように早期に、かつ一貫して価値を生み出すのかについて説明します。優れたテストは実際に動かせるコードの仕様書となり、チームや会社の制度的な構造に埋没しがちなコードの知識を明らかにします。そして、テストがあればコードの変更に対して即座にフィードバックが得られるので、開発スピードが向上します。
Pythonコミュニティでは、シンプルで読みやすいpytest(https://oreil.ly/HiVnu)がデファクトスタンダードになりつつあります。関数やアサーションなどのPythonの基本的な言語機能を使うので、フレームワークであることを意識せずにテストを書けます。その一方で、pytestはシンプルでありながらも、テストフィクスチャとパラメタライズテストなど強力で表現力に富む機能も備えています。また、pytestは拡張可能であり、豊富なプラグインのエコシステムもあります。 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access