【发布时间】:2020-08-19 10:48:13
【问题描述】:
使用pytest.skip 或pytest.xfail,我可以从夹具内部将测试标记为已跳过或xfailed。不过,没有pytest.pass。如何标记为通过?
import pytest
@pytest.fixture
def fixture():
#pytest.skip()
pytest.xfail()
def test(fixture):
assert False
【问题讨论】:
-
结束测试是通过
-
返回一些值,这意味着“通过”测试,我想。不知道你为什么要这样做:)
-
针对
pytestLOL 提出问题 -
一个测试只有在它已经执行并且没有引发的情况下才能通过。如果测试没有执行,它会被跳过。如果您必须撒谎并在测试失败或未运行时将测试显示为通过,那么测试设计是严重错误的。虽然您可以将测试结果从未通过修改为通过,但它被隐藏是有原因的。
-
@finefoot 我不是故意要听起来傲慢,对此感到抱歉。我也不是反对者。尽管如此,我仍然建议不要更改测试结果来模拟统计数据。您能否提供一个更好地描述您的问题的minimal reproducible example?
标签: python unit-testing testing pytest python-unittest