1.スタート
pytest 設定ファイルは、pytest.ini という固定ファイル名で、pytest のデフォルトの実行モードを変更できます。
pytest.ini の保存パスはプロジェクトのルート パスです。
2. addopts- を使用してデフォルトのパラメータを追加します
コマンドラインで pytest コマンドを実行するたびに、パラメーターが固定されている場合は、それらを pytest.ini で構成して、面倒な操作を減らすことができます。
pytest の実行中に、pytest.ini で設定されたパラメーターが自動的に読み取られます。
例えば:
[pytest]
addopts =
--reruns=2
-p no:faulthandler
-s
--cache-clear
--capture=sys
パラメータはスペースで区切ることもできます。
[pytest]
addopts = --reruns=2 -p no:faulthandler -s --cache-clear --capture=sys
3. コマンドラインパラメータの優先順位が pytest.ini のパラメータよりも高い
設定ファイルのパラメータがコマンド ファイルのパラメータと重複する場合、コマンド ラインのパラメータ値が設定ファイルで定義されたパラメータ値を上書きします。、
たとえば、次の図では、コマンド ライン パラメーターの値は 1、pytest.ini パラメーターの値は 2、実際の実行パラメーターの値は 1 です。
4.testpaths-テストケース検索ディレクトリの指定
testpaths は、テスト ケースの検索ディレクトリを指定するために使用されます。1 つ以上のディレクトリを指定できます。複数のディレクトリはスペースまたは改行で区切る必要があります。
[pytest]
testpaths = ./test_case01 ./test_case02
[pytest]
testpaths =
./test_case01
./test_case02
5. python_files & python_classes & python_functions は、pytest のデフォルトの検索ケースのルールを変更します。
pytest のデフォルトのユースケース一致ルール:
- テスト モジュールは test_ で始まるか _test で終わる必要があります
- テスト クラスは Test で始まる必要があり、init ()を含めることはできません
- テストメソッドはtest_で始まる必要があります
pytest.ini 構成ファイルでは、python_files、python_calsses、および python_functions を使用して、デフォルトのユースケース一致ルールを変更できます。
- python_files を使用してテスト モジュールの一致ルールをカスタマイズする
- python_classes を使用してテスト クラスの一致ルールをカスタマイズする
- python_functions を使用してテスト メソッドの一致ルールをカスタマイズする
注: 上記の 3 つの設定項目は複数の一致ルールをサポートしています。複数の一致ルールはスペースまたは改行で区切る必要があります。
次に、独自の一致ルールを追加できます。
gitlink*.py
先頭にテストモジュールを追加しますGitLink*
で始まるテストクラスを追加しますgitlink*
先頭にテストメソッドを追加する
[pytest]
# 配置搜索的模块文件名称。匹配以test开头py结尾的文件
python_files = gitlink*.py
# 配置搜索的测试类名
python_classes = Gitlink*
# 配置搜索的测试方法名
python_functions = gitlink*
コマンドライン入力:pytest -vs
実行結果は次のとおりです。
6. マーカー - トンボ マーク
@pytest.mark.マーク名を使用する場合、カスタム マークが使用されている場合、パラメーター -m=mark 名が実行ケースに追加されると、テストの実行には影響しませんが、実行後にアラーム プロンプトが表示されます。PytestUnknownMarkWarning: Unknown pytest.mark.smoke
。
カスタム マーカーを登録するには、pytest.ini 構成ファイルにマーカー フィールドを追加する必要があります。
[pytest]
# 注册标记名称
markers =
smoke: 冒烟测试用例
normal: 正常用例
追加後、pytest --markers
追加したタグ名を表示するために使用できます。
その後、コマンドを再度使用すると、pytest -m=smoke
警告は表示されません~