pytest 執行模式(二)

2021-09-13 23:39:39 字數 1971 閱讀 4029

pytest 的多種執行模式,讓測試和除錯變得得心應手,執行pytest時會找到當前目錄及其子目錄中的所有test_*.py*_test.py格式的檔案以及以test開頭的方法或者class, 不然就會提示找不到可以執行的case了。

執行後生成測試報告

# 安裝pytest-html

pip install -u pytest-html

# 執行模式:

pytest tests.py --html=report.html

執行指定的case

當寫了較多的case時,每次沒必要都執行一遍,可以指定case

class testclassone(object):

def test_one(self):

x = "this"

assert 't'in x

def test_two(self):

x = "hello"

assert hasattr(x, 'check')

class testclasstwo(object):

def test_one(self):

x = "iphone"

assert 'p'in x

def test_two(self):

assert hasattr(x, 'check')

模式1. 執行tests.py檔案中的所有case:

pytest tests.py
模式2. 執行tests.py檔案中的testclassone這個class下的連個cases:

pytest tests.py::testclassone
模式3. 執行tests.py檔案中的testclassone這個class下的test_one:

pytest tests.py::testclassone::test_one
注意:定義class時,需要以test開頭,不然是不會執行該class的

多程序執行cases

當cases很多時, 執行時間也會比較長,要縮短執行時間,可以使用多程序進行執行

# 安裝pytest-xdist:

pip install -u pytest-xdist

# 執行模式

pytest tests.py -n num

其中num是程序數

重試執行cases

在做介面測試時,有時會遇到503或者短時的網路波動,導致case執行失敗,而這並非是我們期望的結果,此時就可以使用通過重試執行cases的方式來解決

# 安裝pytest-rerunfailuers

pip install -u pytest-rerunfailuers

# 執行模式

pytest tests.py --reruns num

其中num是程序數

顯示print內容

在執行測試指令碼時,為了除錯或列印一些內容,我們會在**中加一些print內容,但是在執行pytest時,這些內容不會顯示出來。如果帶上-s, 就可以顯示了

執行模式:

pytest tests.py -s
另外,pytest 的多種執行模式可以疊加執行的,比如:執行四個程序,又想列印print內容,可以用:

pytest tests.py -s -n 4

Pytest 執行用例

pytest 不止可以執行自己的用例,也可以執行 unittest 寫的用例。pytest 有很多執行時引數,用於指定執行的用例 執行結果展示 外掛程式引數等。pytest 有兩種執行方式 命令列通過 pytest 命令執行 pytest 引數 引數值 中使用pytest.main 引數1 引數值1...

pytest安裝與執行

1.安裝pytest pip install pytest pytest version 檢視安裝的版本 驗證是否安裝成功 3.編寫與執行規則 編寫pytest測試樣例非常簡單 測試檔案以test開頭 以test結尾也可以 測試類以test開頭,並且不能帶有 init 方法 測試函式以test 開頭...

pytest 挑選用例執行

一 指定乙個模組 可以像這樣只挑選乙個模組執行 pytest cases 登入 test 錯誤登入.py 二 指定目錄 可以像這樣只挑選乙個目錄執行 pytest cases 也可以指定多個目錄 pytest cases1 cases2 登入 三 指定模組裡面的函式或者類 指定乙個類 pytest ...