Repolode
tarpas

tarpas/pytest-testmon

最近のコード変更の影響を受けるテストだけを再実行し、オプションで継続的な監視モードも利用できるpytestプラグインです。

スター
1,034
フォーク
87
未解決の Issue
38
最終コミット
5 日前

これは何?

pytest-testmonは、各テストがどのコードに依存しているかを記録し、その依存関係データベースを使って最近の変更の影響を受けるテストだけを選ぶpytestプラグインです。--testmonを付けた初回実行時に.testmondataへデータベースを作成し、以降は影響を受けるテストだけを実行するため、大規模なテストスイートでもフィードバックを短縮できます。

このプロジェクトは、静的なimportグラフだけでは不十分なPythonのような動的言語で、影響を受けるテストを特定する難しさに対応します。ドキュメントでは、依存関係の追跡方法とテスト選択の信頼性について説明しています。pytest-watchと組み合わせると、保存するたびに適切なテストを再実行する継続的なテストランナーとして利用できます。

パッケージはpipでインストールし、--testmonフラグを付けるだけで有効にできます。また、メンテナーがオープンソースプロジェクトのCIにtestmonを設定する、任意参加のプログラムも実施しています。

主な機能

  • 01テストとコードの依存関係を、ローカルの.testmondataデータベースに記録します。
  • 02最近のファイル変更の影響を受けるテストだけを再実行します。
  • 03--testmonフラグで有効にできるpytestプラグインとして動作します。
  • 04pytest-watchと組み合わせて、保存時にテストを継続的に実行できます。

ユースケース

  • pytestのテストスイートに時間がかかる大規模なPythonプロジェクトで、ローカルのテスト実行を高速化する。
  • 開発中に、テストの一部を素早く実行する。
  • 変更のたびに影響を受けるテストを再実行する、継続的なテスト環境を構築する。

クイックスタート

  1. 1

    pipでプラグインをインストールする

    pip install pytest-testmon
  2. 2

    依存関係データベースを構築する(.testmondataに保存)

    pytest --testmon
  3. 3

    テストカバレッジのあるコードを変更する

  4. 4

    最近の変更の影響を受けるテストだけを実行する

    pytest --testmon

使う前に知っておきたいこと

  • テストの選択は依存関係の追跡に依存するため、信頼性はコードの構成によって異なります。

収録されている特集

トピック

よくある質問

pytest-testmon とは?
最近のコード変更の影響を受けるテストだけを再実行し、オプションで継続的な監視モードも利用できるpytestプラグインです。 pytest-testmonは、各テストがどのコードに依存しているかを記録し、その依存関係データベースを使って最近の変更の影響を受けるテストだけを選ぶpytestプラグインです。--testmonを付けた初回実行時に.testmondataへデータベースを作成し、以降は影響を受けるテストだけを実行するため、大規模なテストスイートでもフィードバックを短縮できます。
pytest-testmon は無料で使えますか?ライセンスは?
pytest-testmon は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
pytest-testmon は今もメンテナンスされていますか?
活発にメンテナンス中。pytest-testmon の最終コミットは 2026年11月2日 です。
pytest-testmon は何に使えますか?
pytestのテストスイートに時間がかかる大規模なPythonプロジェクトで、ローカルのテスト実行を高速化する。 開発中に、テストの一部を素早く実行する。 変更のたびに影響を受けるテストを再実行する、継続的なテスト環境を構築する。
pytest-testmon のインストール方法は?
pipでプラグインをインストールする: pip install pytest-testmon 依存関係データベースを構築する(.testmondataに保存): pytest --testmon テストカバレッジのあるコードを変更する 最近の変更の影響を受けるテストだけを実行する: pytest --testmon
pytest-testmon はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/tarpas/pytest-testmon

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト