pytest ユースケースの実行モード

1. コマンドラインモードで実行します。

特定のディレクトリ内のすべてのユースケースと仕様を満たすすべてのユースケースを実行する

       対応するディレクトリを入力して、pytest を直接実行します。たとえば、testcases の下にあるすべてのユースケースを実行する必要があります。testcases ディレクトリに入り、その後 pytest を実行できます。

       対応するディレクトリの上位ディレクトリに移動し、pytest ディレクトリ名/ を実行します。; たとえば、testcases の下にあるすべてのユース ケースを実行する必要があります。これは、study_project ディレクトリにある場合もあり、その後、pytest testcases/ を実行します。

特定の py ファイルでユースケースを実行する

       pytest スクリプト名.py

.py モジュール内の関数を実行する

pytest test_mod.py::TestClass

.py モジュール内の関数を実行する

pytest test_mod.py::test_func

run.py モジュール内の特定のテスト クラス

pytest test_mod.py::TestClass

.py モジュールを実行し、クラス内のメソッドをテストします。

pytest test_mod.py::TestClass::test_method

さまざまな組み合わせ

pytest test_mod1.py::TestClass::test_method test_mod2.py

マークラン

pytest -m login ログインとしてマークされたユースケースを実行します

2 つ目は、main メソッドが実行されることです。

通常、プロジェクトのルート ディレクトリで実行する必要があるパスとパラメータを指定します。

3. グローバル設定ファイル pytest.ini を介して

pytest.ini はどこに配置する必要がありますか? プロジェクトのルート ディレクトリに置くだけです。いじったり、他の名前をいじったりしないでください。

共通の設定項目

マーク

機能: @pytest.mark.webtest デコレーターがテスト ケースに追加されます。marks オプションが追加されていない場合、警告が報告されます

形式: リストリスト型

書き込み:

# mark

markers =

    smoke:冒烟用例

     order: 订单用例

    product: 商品用例

テストケース収集ルールの変更

pytestのデフォルトのテストケース収集ルール

  •  ファイル名は test_*.py ファイルと *_test.py で始まります
  •  test_ で始まる関数
  •  test で始まるクラスには __init__ メソッドを含めることはできません
  •  test_ で始まるクラスのメソッド

このユースケース収集ルールは変更または追加できますが、もちろん、次のように元のルールに追加することをお勧めします。

テストパス=テストケース/test_study/

python_files =test_*  *_test  test*

python_classes =Test*   test*

python_functions =test_*  test*

備考: testpaths=testcases/test_study/ プロジェクトのルートディレクトリでpytestを実行した場合、現在の実行ディレクトリが相対パスとして使用され、ルートディレクトリのtestcases配下のtest_study以下のファイルが実行されます。実行されないでしょう

例えば:

 出力:

採用する

機能: addopts パラメーターは、デフォルトのコマンド ライン オプションを変更できます。ユースケースを実行するために cmd に一連の命令を入力するとき、代わりにこのパラメーターを使用して、コマンドを入力する繰り返しの作業を節約できます。

# 例如命令行参数,失败重跑两次,一共运行两次,生成测试报告

addopts = -v --reruns=1 --count=2 --html=reports.html --self-contained-html -n=auto

log_cli

役割: コンソールのリアルタイム出力ログ

形式: log_cli=true または false (デフォルト)、または log_cli=1 または 0

 

おすすめ

転載: blog.csdn.net/MXB1220/article/details/132214618