Pytest:何时与 pytest.raises 和 xfail 一起使用

问题描述 投票:0回答:1

我有一个方法,当提供不正确的输入格式时,预计会引发异常。我想知道哪种是正确的测试方法,当提供不正确的输入时,将测试标记为

xfail
或实际测试它
with pytest.raises
以查看引发的实际异常。

python unit-testing pytest python-unittest
1个回答
0
投票

如果您希望函数引发异常,可以使用

xfail

但是除了格式不正确之外,可能还有其他异常情况,您希望将它们视为失败。

然后您可以使用“raises”参数,如下所示

xfail

@pytest.mark.xfail(raises=YourFormatExceptionType)

在此之后,除了

raises
中指定的任何其他异常,都将被视为常规故障。

您可以将单个异常或异常元组传递给上述函数中的

raises

相关文档:

https://docs.pytest.org/en/latest/how-to/skipping.html#raises-parameter

© www.soinside.com 2019 - 2024. All rights reserved.