gpt4 book ai didi

python - pytest:xfail 给定异常,否则通过

转载 作者:太空宇宙 更新时间:2023-11-04 10:08:02 25 4
gpt4 key购买 nike

我有一个使用requests 的测试并且需要一个有效的连接。

如果连接断开,我希望它xfail,否则正常通过。

这是我尝试过的:

from requests import ConnectionError

@pytest.mark.xfail(raises=ConnectionError)
class TestStuff():
def test_stuff():
do stuff

如果连接断开,这确实会xfail,但在一般情况下它会xpass

有什么办法可以实现我想要的吗?

我可以使用 try/except:

from requests import ConnectionError

class TestStuff():

def test_stuff():
try:
do stuff
except ConnectionError:
pass

但我没有得到 xfail。测试总是通过,但我没有收到无法正确执行测试的通知。

我猜 xfail 是针对有朝一日可能会修复的系统错误(损坏的库等),而不是针对连接错误等暂时性错误。

最佳答案

pytest 在测试或设置函数中支持命令式 xfail。

使用您拥有的 try/except 代码,并在 except 正文中包含 pytest.xfail('some message')

参见: http://doc.pytest.org/en/latest/skipping.html#imperative-xfail-from-within-a-test-or-setup-function

关于python - pytest:xfail 给定异常,否则通过,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39901211/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com