pytest (五) pytest中的斷言

2022-01-10 04:51:56 字數 1176 閱讀 1926

pytest 的斷言報告,也很豐富,和詳情,比如:

import pytest

def test_set_comparison():

set1 = set("1308")

set2 = set("8035")

assert set1 == set2

執行一下:

有時候,我們需要對一些異常丟擲作斷言,可以用pytest.raises

比如:測試除法運算,0不可以被除,這裡就可以寫乙個異常的斷言,zerodivisionerror

import pytest

def test_zero_division():

with pytest.raises(zerodivisionerror):

1 / 0

執行測試

不做異常斷言,執行測試,就會拋錯,zerodivisionerror

有的時候,我們可能需要在測試中用到產生的異常中的某些資訊,比如異常的型別type,異常的值value等等

比如

import pytest

def test_recursion_depth():

with pytest.raises(runtimeerror) as excinfo:

def f():

f()f()

assert 'maximum recursion' in str(excinfo.value)

五 pytest外掛程式分享

1 關於pytest的外掛程式說明 2.assume外掛程式使用介紹 assume 外掛程式 安裝方法 pip install pytest assume 需要有 python 環境和 pytest 環境 assume assume 外掛程式就是乙個斷言工具,和 pytest 自帶的斷言區別就在於 ...

pytest08 在pytest中配置環境變數

首先import os,寫入系統當前目錄的環境變數 然後用os.envtiron方法來獲取。可以寫到conftest.py中,放到根目錄下,當成全域性變數 命令列引數設定 parser.addoption cmdhost action store default help my option typ...

pytest04 pytest常用外掛程式

02 生成測試報告 外掛程式 安裝 pip install pytest html 生成測試報告 pytest html 測試報告路徑 html03 在pytest.ini中加入報告生成命令 addopts s html test hello.html 直接執行 pytest即可 如果這裡加上了 s...