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