PyCon JP 2024

Your locale preferences have been saved. We like to think that we have excellent support for English in pretalx, but if you encounter issues or errors, please contact us!

Atsushi Inutsuka

シンプルフォーム株式会社 エンジニアリングマネージャ / 公認 AML スペシャリスト (CAMS)

金融犯罪を防ぐためのアプリケーションとそれを作る開発組織を作ることに日々全力を傾けている。Python で始めて仕事として開発したのは日本の法人・商業登記簿の PDF のパーサで、法人・商業登記簿には深い造詣がある。


Session

09-28
17:00
15min
pytest プラグインを開発して DRY に自動テストを書こう
Atsushi Inutsuka

業務で pytest を使って自動テストを書いていて「あれ、conftest.py で書いているこの処理、他の tests ディレクリの conftest.py でも書いた気がするな...」と感じたことはないでしょうか?
自動テストを実装する上では、例えばデータベースにテーブルを作る、データベースに接続するセッションを用意するなど、テスト実行のために必要な前処理が色々と発生します。こういった処理は conftest.py に書くことが多いですが、サービスやプロダクトが増えて tests ディレクトリが分散してくると、色々な tests ディレクトリ内で同じような conftest.py が書かれて DRY 原則に反した状態になり、テストコードの保守性の低下を招く要因になります。

pytest を使っていると何かしらのサードパーティのプラグインを使うことが多いと思いますが、上記の課題はプラグインを自作することで解決することができます。

このセッションでは、私が所属する会社のプロダクトの開発において抱えていた課題と、その課題を解決するために実際に開発した社内向けの pytest プラグインの実装を紹介します。自作の pytest プラグインを開発してより快適にテストを実装できるようになりましょう!

DevOps, Testing, Documentation, Packaging
4F Track3