Pytest之使用断言指定异常

官网的翻译是使用断言抛出指定异常,当我以为他这里更应该指的是 Pytest 断言错误类型#


使用raise在测试方法中指定异常的类型,这点和java仍是蛮像的呢,具体示例以下:html

import pytest

def myfunction():
    raise IOError("指定异常类型")
def test_myfuntion():
    with pytest.raises(IOError):
        myfunction()

if __name__ == '__main__':
    pytest.main()

 

使用 with pytest.raises(异常类型),这句话的意思是,告诉咱们,使用pytest去断言异常的类型,若是异常和函数myfunction()中的一致,则运行经过,不然则断言失败。java

为了效果明显,我把使用pytest的异常的类型改为Python 语法错误,运行结果以下:函数