1. 程式人生 > 其它 >pytest(10):使用自定義標記mark

pytest(10):使用自定義標記mark

前言

  • 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就會生效。