pytest學習 基礎測試

2021-10-24 09:51:43 字數 2532 閱讀 9907

import pytest

''' 安裝pytest: pip install pytest

檢視pytest版本: pytest --version

pytest引數幫助: pytest -h | --help

pytest遵循其python測試發現約定來發現所有測試

因此它會找到兩個帶test_字首的函式

且無需繼承任何子類

'''# import pdb

# '''

# pytest允許您在每次測試開始時通過命令列選項立即進入pdb提示符:

# pytest --trace

# '''

# pdb.set_trace()

# 簡單的測試

deffunc_plus

(x):

return x +

1def

test_plus_answer()

:assert func_plus(3)

==4deftest_plus_answer1()

:assert func_plus(3)

==5print

('hello'

)"""

執行多個測試pytest將在當前目錄及其子目錄中執行所有格式為test _ *.py或* _test.py的檔案

更一般而言,它遵循標準的測試發現規則

"""deff(

):# systemexit直譯器請求退出

raise systemexit(1)

deftest_my_test()

:with pytest.raises(systemexit)

: f(

)# 將多個測試分組到乙個類中

class

testclass

:def

test_include_h

(self)

: x =

'hello'

assert

'h'in x

deftest_hasattr

(self)

: x =

'hello'

assert

hasattr

(x,'check'

)def

test_needs_files

(tmpdir)

:"""

使用以下命令找出存在哪種內建pytest固定裝置:

pytest --fixtures # shows builtin and custom fixtures

:"""

print

(tmpdir)

assert

1# python錯誤推出**

""" python -m pytest, pytest, py.test可以從命令列通過python直譯器呼叫測試

執行pytest會導致六個不同的退出**:

退出**0: 所有測試均已收集並成功通過 .

退出**1: 測試已收集並執行,但有些測試失敗 e

退出**2: 測試執行被使用者中斷 e

退出**3: 執行測試時發生內部錯誤 e

退出**4: pytest命令列用法錯誤 e

退出**5: 沒有收集測試 e

"""# pytest測試

""" pytest -x 第一次失敗後停止測試過

pytest --maxfail=2 第一n次失敗後停止測試過

在模組中執行測試

pytest test_mod.py

在目錄中執行測試

pytest testing/

通過關鍵字表示式執行測試

pytest -k "myclass and not method"

要在模組中執行特定的測試,請執行以下操作:

pytest test_mod.py::test_func

在命令列中指定測試方法的另乙個示例:

pytest test_mod.py::testclass::test_method

通過標記表示式執行測試

pytest -m slow將執行用@pytest.mark.slow裝飾器裝飾的所有測試

從包執行測試

pytest --pyargs pkg.testing這將匯入pkg.testing並使用其檔案系統位置來查詢並執行測試

"""# 詳細的總結報告

''' f -失敗

e -錯誤

s -跳過

x -xfailed

x -xpass

p -通過

p -通過輸出

a -除 pp

a -全部

可以使用多個字元,例如,要僅檢視失敗和跳過的測試,可以執行:

$ pytest -rfs

'''@pytest.fixture(scope=

'function'

)def

error_fixture()

:assert

0

Pytest學習 入門及基礎

就python的測試框架而言,目前比較流行的就是pytest和unittest,unittest廣為人知,但就現在而言是老框架了,但是依舊有那麼多喜歡使用他來做自動化測試。pytest是基於unittest開發的另一款更高階更好用的單元測試框架,作為知識更新,也更該去學習新知識了,它就和testng...

pytest韌體功能測試

例項1 conftest.py pytest.fixture def fun1 print run func1 yield print func1 done pytest.fixture def fun2 print run func2 yield print func2 done test db....

Pytest測試框架(一)

pip install u pytest 用下面的命令去檢查一下pytest是否成功安裝 pytest version this is pytest version 5.4.1 建立名為test 001.py的檔案,敲如下內容 def reverse string return string 1 d...