我有一个方法,当提供不正确的输入格式时,预计会引发异常。我想知道哪种是正确的测试方法,当提供不正确的输入时,将测试标记为
xfail
或实际测试它 with pytest.raises
以查看引发的实际异常。
如果您希望函数引发异常,可以使用
xfail
。
但是除了格式不正确之外,可能还有其他异常情况,您希望将它们视为失败。
然后您可以使用“raises”参数,如下所示
xfail
@pytest.mark.xfail(raises=YourFormatExceptionType)
在此之后,除了
raises
中指定的任何其他异常,都将被视为常规故障。
您可以将单个异常或异常元组传递给上述函数中的
raises
。
相关文档:
https://docs.pytest.org/en/latest/how-to/skipping.html#raises-parameter