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...