pytest(10):使用自定義標記mark
阿新 • • 發佈:2021-07-28
前言
- pytest 可以支援自定義標記,自定義標記可以把一個 web 專案劃分多個模組,然後指定模組名稱執行
- 譬如我可以標明哪些用例是window下執行的,哪些用例是mac下執行的,在執行程式碼時候指定mark即可
上程式碼
import pytest @pytest.mark.weibo def test_weibo(): print("測試微博") @pytest.mark.toutiao def test_toutiao(): print("測試頭條") @pytest.mark.toutiao def test_toutiao1(): print("再次測試頭條") @pytest.mark.xinlang class TestClass: def test_method(self): print("測試新浪") def testnoMark(): print("沒有標記測試")
cmd敲執行命令
pytest -s -m weibo 08_mark.py
如何避免warnings
- 建立一個pytest.ini檔案(後續詳解)
- 加上自定義mark,如下圖
- 注意:pytest.ini需要和執行的測試用例同一個目錄,或在根目錄下作用於全域性
- 冒號後面用來新增備註
如果不想標記weibo的用例,我們直接取反即可
pytest -s -m "not weibo" 08_mark.py
如果想執行多個自定義標記的用例
pytest -s -m "toutiao or weibo" 08_mark.py
如果想執行多個自定義標記的用例
如果再用例指令碼中寫如下程式碼執行的話,所有的測試都會執行,需要把執行的程式碼放到單獨的執行指令碼中,這樣mark就會生效。