Pytest學習(十五)- pytest-assume的使用
阿新 • • 發佈:2020-11-29
一、前言
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相比,確實輕量了很多