実行せずにPHPコードのバグを見つける静的解析ツール。
realpython/pytest-mypy
pytestのテスト実行中に、ソースファイルへmypyの静的型チェックを行うpytestプラグインです。
- スター
- 257
- フォーク
- 33
- 未解決の Issue
- 8
- 最終コミット
- 16 日前
これは何?
pytest-mypyを使うと、pytestのワークフローにmypyによる型チェックを組み込めます。--mypyフラグを有効にすると、pytestに渡したPythonファイルに対してmypyを実行し、型エラーをテスト結果として報告するため、既存のテストと一緒に型チェックを実行できます。flake8に対して同様の処理を行うpytest-flake8を参考にしています。
mypyの設定は、通常どおりmypy.iniファイルで指定できます。また、conftest.pyからプラグインを設定し、--check-untyped-defsなどの追加オプションを引数リストに追加することもできます。pytestを-m mypy付きで実行すると、ほかのテストをスキップして型チェックだけを実行できます。
このプロジェクトはPyPIからpipでインストールでき、MITライセンスで配布されています。
主な機能
- 01pytestの実行中にソースファイルへmypyを実行
- 02単一の--mypyフラグで有効化
- 03標準のmypy.ini設定を読み込み
- 04conftest.pyからmypyの追加オプションを指定可能
- 05-m mypyで型チェックだけを実行可能
ユースケース
- PythonプロジェクトのCIテストパイプラインで型エラーを検出する
- 別途ツールを実行せず、ユニットテストと一緒に型チェックを行う
- --check-untyped-defsなど、より厳格なmypyオプションをテスト実行時にのみ適用する
クイックスタート
- 1
pipを使ってPyPIからプラグインをインストールします
pip install pytest-mypy - 2
テストファイルに対して--mypyフラグを付けてpytestを実行します
py.test --mypy test_*.py
使う前に知っておきたいこと
- READMEには、これは開発途中と記載されています。
収録されている特集
トピック
よくある質問
- pytest-mypy とは?
- pytestのテスト実行中に、ソースファイルへmypyの静的型チェックを行うpytestプラグインです。 pytest-mypyを使うと、pytestのワークフローにmypyによる型チェックを組み込めます。--mypyフラグを有効にすると、pytestに渡したPythonファイルに対してmypyを実行し、型エラーをテスト結果として報告するため、既存のテストと一緒に型チェックを実行できます。flake8に対して同様の処理を行うpytest-flake8を参考にしています。
- pytest-mypy は無料で使えますか?ライセンスは?
- pytest-mypy は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- pytest-mypy は今もメンテナンスされていますか?
- 活発にメンテナンス中。pytest-mypy の最終コミットは 2026年10月22日 です。
- pytest-mypy は何に使えますか?
- PythonプロジェクトのCIテストパイプラインで型エラーを検出する 別途ツールを実行せず、ユニットテストと一緒に型チェックを行う --check-untyped-defsなど、より厳格なmypyオプションをテスト実行時にのみ適用する
- pytest-mypy のインストール方法は?
- pipを使ってPyPIからプラグインをインストールします: pip install pytest-mypy テストファイルに対して--mypyフラグを付けてpytestを実行します: py.test --mypy test_*.py
- pytest-mypy はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/realpython/pytest-mypy
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
大規模なコードベース向けに設計された、コマンドラインツールとVisual Studio Code拡張機能を備える、標準に準拠したPython静的型チェッカーです。
実行時のオーバーヘッドを最小限に抑え、関数・クラス・変数にPEP準拠の型ヒントを適用する純粋なPython製ランタイム型チェッカー。
Pythonの実行時型チェッカー。関数、任意のオブジェクト、ローカル変数に付けたPEP 484アノテーションを検証します。
コードへの型注釈なしで型を推論するRuby静的解析ツール。未定義メソッドやnilレシーバーなど、確実なバグのみを報告することを目指します。