自定義mark
mark注冊
? ? pytest --markers
根據(jù)節(jié)點ID選擇測試用例
自定義mark
我們可以用下面的方式自定義mark
@pytest.mark.{自定義的mark名}
Customer marker
用下面指令運行 pytest -v -m webtest
Result
由上圖的運行結(jié)果:
collected 5 items/ 4 deselected / 1 selected
收集到了5個測試用例叼丑,但是只選擇了一個測試用例進行運行,這是因為只有一個測試用例應(yīng)用了webtest mark
mark注冊
但是由上面的結(jié)果還能看出靡努,有一個警告: PytestUnknownMarkWarning: Unknown pytest.mark.webtest - is this a typo??
這是因為沒有對webtest mark注冊,可以用如下方式對webtest mark進行注冊
新建pytest.ini文件,并在其中添加如下代碼
pytest.ini
然后新建conftest.py文件胁出,用pytest_configure 鉤子進行注冊:
conftest.py
再次運行pytest -v -m webtest挟冠,
由下面截圖可以看出,結(jié)果中已經(jīng)沒有警告信息了
Result
用pytest --markers指令可以獲得躁愿,項目中定義的所有mark
pytest --markers
根據(jù)節(jié)點ID選擇測試用例
可以提供一個或者多個節(jié)點ID作為參數(shù)來選擇指定的測試用例。
這樣可以基于模塊名稱沪蓬,類名稱彤钟,方法名稱進行選擇執(zhí)行測試用例:
如下選擇執(zhí)行test_customermark.py模塊下的TestClass類中測試方法test_method_1
pytest
也可以基于類名執(zhí)行,這個類中的所有測試用例
pytest TestClass
或者一次執(zhí)行多個node
選擇多個node