Pytest的斷言比unittest的斷言更簡單實用
阿新 • • 發佈:2021-01-24
技術標籤:軟體測試Pytest斷言軟體測試測試工程師單元測試
Pytest斷言
斷言是寫自動化測試基本最重要的一步,一個用例沒有斷言,就失去了自動化測試的意義了
斷言就是用實際結果和期望結果去對比,符合預期那就測試pass,不符合預期那就測試 failed
# -*- coding: utf-8 -*- # @Author : 公眾號:程式設計師一凡 import pytest def test01(): b = 2 assert 1 == b, "預期的值是:%d"%b def test02(): assert 2 == 2 pytest.main(["day.py"])
執行結果
用例通過1條,失敗1條
斷言失敗會寫出自己失敗的原因
def test01():
b = 2
> assert 1 == b, "預期的值是:%d"%b
E AssertionError: 預期的值是:2
E assert 1 == 2
異常斷言
# -*- coding: utf-8 -*- # @Author : 公眾號:程式設計師一凡 import pytest def a(): with pytest.raises(ZeroDivisionError) as ZE: 1 / 0 # 斷言異常型別type assert ZE.type == ZeroDivisionError # 斷言異常value assert "division by zero" in str(ZE.value) pytest.main(["day.py"])
ZE 是一個異常資訊例項,它是圍繞實際引發的異常的包裝器。
主要屬性是.type、 .value .traceback
斷言 type 的時候,異常型別是不需要加引號的,斷言 value值的時候需轉 str
在上下文管理器窗體中,可以使用關鍵字引數訊息指定自定義失敗
給大家推薦一個軟體測試技術交流群:1079636098 群友福利免費領取
願你我相遇,皆有所獲! 歡迎關注微信公眾號:程式設計師一凡
1.免費領取一份216頁軟體測試工程師面試寶典文件資料。
2.軟體測試學習路線以及相對應的視訊學習教程免費分享!