1. 程式人生 > 實用技巧 >Pytest學習(十五)- pytest-assume的使用

Pytest學習(十五)- pytest-assume的使用

一、前言

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相比,確實輕量了很多