官网的翻译是使用断言抛出指定异常,当我觉得他这里更应该指的是 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 语法错误,运行结果如下: