pytest多重?cái)嘌缘膶?shí)現(xiàn)
當(dāng)我們寫用例斷言時(shí),往往一個(gè)斷言結(jié)果是不夠的,所以需要加入多重?cái)嘌?,而多重?cái)嘌?,?dāng)斷言中間出現(xiàn)斷言結(jié)果False時(shí),會(huì)中斷后續(xù)的斷言執(zhí)行,會(huì)導(dǎo)致測試用例執(zhí)行結(jié)果的準(zhǔn)確性不高
使用pytest框架的插件pytest-assume, 實(shí)現(xiàn)用例執(zhí)行時(shí),其中一個(gè)斷言失敗后,執(zhí)行后續(xù)的斷言
安裝:pip install pytest-assume
以下為使用示例:
import pytest
from pytest_assume.plugin import assume
class TestTwo:
def test001(self):
with assume:
assert True
with assume:
assert 1 == 2
def test002(self):
assert 1 == 1
if __name__ == '__main__':
pytest.main(['-v', 'test_002.py'])我們很容易在以下信息中找出相應(yīng)的日志信息:
在行有E標(biāo)記的信息中,我們可以清晰看到提示 pytest_assume.plugin.FailedAssumption: 1 Failed Assumptions
collecting ... collected 2 items
test_002.py::TestTwo::test001 FAILED [ 50%]
test_002.py::TestTwo::test002 PASSED [100%]
================================== FAILURES ===================================
_______________________________ TestTwo.test001 _______________________________
self = <test_002.TestTwo object at 0x000001B24B284C40>
def test001(self):
with assume:
assert True
with assume:
> assert 1 == 2
E pytest_assume.plugin.FailedAssumption:
E 1 Failed Assumptions:
E
E test_002.py:10: AssumptionFailure
E >> assert 1 == 2
E AssertionError: assert 1 == 2
E +1
E -2
test_002.py:10: FailedAssumption
============================== warnings summary ===============================
D:\Python3.9.10\lib\site-packages\_pytest\config\__init__.py:1126
D:\Python3.9.10\lib\site-packages\_pytest\config\__init__.py:1126: PytestAssertRewriteWarning: Module already imported so cannot be rewritten: pytest_assume
self._mark_plugins_for_rewrite(hook)
-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ===========================
FAILED test_002.py::TestTwo::test001 - pytest_assume.plugin.FailedAssumption:
=================== 1 failed, 1 passed, 1 warning in 0.19s ====================
進(jìn)程已結(jié)束,退出代碼 0
到此這篇關(guān)于pytest多重?cái)嘌缘膶?shí)現(xiàn)的文章就介紹到這了,更多相關(guān)pytest多重?cái)嘌詢?nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python實(shí)現(xiàn)zip分卷壓縮的詳細(xì)方法
WinHex 開始16進(jìn)制一個(gè)一個(gè)文件對(duì)比 WinRar 創(chuàng)建的分卷壓縮和單個(gè) zip 文件的差異,這篇文章主要介紹了python實(shí)現(xiàn)zip分卷壓縮的詳細(xì)方法,需要的朋友可以參考下2024-02-02
Python編寫車票訂購系統(tǒng)?Python實(shí)現(xiàn)快遞收費(fèi)系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了Python編寫車票訂購系統(tǒng),Python實(shí)現(xiàn)快遞收費(fèi)系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-08-08
修改Python的pyxmpp2中的主循環(huán)使其提高性能
這篇文章主要介紹了修改Python的pyxmpp2中的主循環(huán)使其提高性能,pyxmpp2是Python中使用需XMPP協(xié)議的一個(gè)常用工具,要的朋友可以參考下2015-04-04
Gradio機(jī)器學(xué)習(xí)模型快速部署工具應(yīng)用分享
這篇文章主要為大家介紹了Gradio機(jī)器學(xué)習(xí)模型快速部署工具應(yīng)用分享原文翻譯,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04

