複数のエンジンでブラウザやモバイルのテストを、ユーザー視点の読みやすいステップで記述できるJavaScript製E2Eテストフレームワークです。
pytest-dev/pytest-bdd
Gherkinのfeatureファイルをpytestのテストとして実行でき、別のテストランナーが不要なBDDフレームワークです。
- スター
- 1,473
- フォーク
- 255
- 未解決の Issue
- 87
- 最終コミット
- 3 日前
これは何?
pytest-bddはGherkin言語の一部を実装しており、チームはGiven、When、Thenのステップを含むfeatureファイルで要件を記述し、それらをPythonのテスト関数に紐付けられます。pytest上で動作するため、BDDシナリオをユニットテストや機能テストと並べて管理でき、同じCI環境を利用できます。
ステップの実装は通常のpytest関数なので、依存性注入によって既存のfixtureをステップに渡せます。また、Givenステップでtarget_fixtureを使って名前付きfixtureを設定すれば、共有のグローバルコンテキストを使わずに、セットアップ時の状態をステップ間で受け渡せます。ステップ引数の解析には、string、parse、cfparse、reの各パーサーを使用できます。
さらに、複数のexampleテーブルを使ったscenario outline、background、rule、datatable、docstringに対応しています。タグをmarkerにマッピングすれば、pytest -mや-kでシナリオを選択できます。
主な機能
- 01Gherkinのfeatureファイルを標準的なpytestテストとして実行
- 02pytestのfixtureをGiven、When、Thenのステップに注入
- 03複数のexampleテーブルを使ったscenario outlineに対応
- 04ステップ引数の解析にstring、parse、cfparse、regexの各パーサーを提供
- 05Gherkinのタグをpytestのmarkerにマッピングし、テストを選択
ユースケース
- 自然言語で記述したfeatureファイルを使い、プロダクト要件から受け入れテストを作成
- 既存のpytest fixtureを再利用し、WebやAPIの動作に関する機能テストを実施
- タグによるテスト選択を使い、Pythonのテストスイートをfeatureごとに整理
クイックスタート
- 1
PyPIからpytest-bddをインストールする
pip install pytest-bdd
使う前に知っておきたいこと
- 各featureファイルに含められるfeatureは1つだけです。
- ステップはpytestに紐づくPython関数として実装する必要があるため、Pythonのテストスイートでのみ動作します。
収録されている特集
トピック
よくある質問
- pytest-bdd とは?
- Gherkinのfeatureファイルをpytestのテストとして実行でき、別のテストランナーが不要なBDDフレームワークです。 pytest-bddはGherkin言語の一部を実装しており、チームはGiven、When、Thenのステップを含むfeatureファイルで要件を記述し、それらをPythonのテスト関数に紐付けられます。pytest上で動作するため、BDDシナリオをユニットテストや機能テストと並べて管理でき、同じCI環境を利用できます。
- pytest-bdd は無料で使えますか?ライセンスは?
- pytest-bdd は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- pytest-bdd は今もメンテナンスされていますか?
- 活発にメンテナンス中。pytest-bdd の最終コミットは 2026年11月2日 です。
- pytest-bdd は何に使えますか?
- 自然言語で記述したfeatureファイルを使い、プロダクト要件から受け入れテストを作成 既存のpytest fixtureを再利用し、WebやAPIの動作に関する機能テストを実施 タグによるテスト選択を使い、Pythonのテストスイートをfeatureごとに整理
- pytest-bdd のインストール方法は?
- PyPIからpytest-bddをインストールする: pip install pytest-bdd
- pytest-bdd はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/pytest-dev/pytest-bdd
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
Gherkinのfeatureファイルから、ブラウザー、API、セキュリティ、アクセシビリティ、ビジュアルのE2Eテストを自動生成・実行するオープンソースのAIテストエージェント。
Python製の、受け入れテスト、ATDD、RPA向けのオープンソースなキーワード駆動型自動化フレームワーク。