一、前言
assume,是pytest的斷言另外一種形式,結合TestNg中的斷言,不難理解,也就是軟斷言和硬斷言的使用。
二、安裝插件
pip3 install pytest-assume -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
三、硬斷言(assert)
特點就是,如果腳本運行斷言失敗,馬上停止運行,后面代碼將不會被執行。
示例代碼如下:
# -*- coding: utf-8 -*-
# @Time : 2020/11/29 13:42
# @Author : longrong.lang
# @FileName: test_assertExp.py
# @Software: PyCharm
# @Cnblogs :https://www.cnblogs.com/longronglang
def test_assertExp():
assert 1 == 2
print("我是硬斷言assert,斷言失敗后,這段不會執行")
assert 1 == 1
執行效果如下:

很明顯執行到assert 1 == 2,斷言失敗后,后面的輸出內容將不會輸出
四、軟斷言(assume)
特點是如果運行斷言失敗,不會停止運行,會繼續執行這個斷言下的其他語句或者斷言,不影響其他斷言的運行。
示例代碼如下:
def test_assert():
pytest.assume(1, 3)
pytest.assume(1, 1)
pytest.assume("test", 3)
print("\n我是硬斷言assume,斷言失敗,也會執行!")
執行效果如下:

很明顯斷言失敗,后面的代碼也會執行,這點與TestNG相比,確實輕量了很多
