官網的翻譯是使用斷言拋出指定異常,當我覺得他這里更應該指的是 Pytest 斷言錯誤類型#
使用raise在測試方法中指定異常的類型,這點和java還是蠻像的呢,具體示例如下:
import pytest def myfunction(): raise IOError("指定異常類型") def test_myfuntion(): with pytest.raises(IOError): myfunction() if __name__ == '__main__': pytest.main()
使用 with pytest.raises(異常類型),這句話的意思是,告訴我們,使用pytest去斷言異常的類型,如果異常和函數myfunction()中的一致,則運行通過,否則則斷言失敗。
為了效果明顯,我把使用pytest的異常的類型改成Python 語法錯誤,運行結果如下: