gpt4 book ai didi

python - 如何跳过特定的参数化测试?

转载 作者:太空宇宙 更新时间:2023-11-04 01:59:01 28 4
gpt4 key购买 nike

我有一个参数化的 Pytest 测试,例如:

testdata = [
MyDB(id="0001", result=True),
MyDB(id="0002", result=False)
]
@pytest.mark.parametrize("data", testdata, ids=[repr(id) for id in testdata])
def test_1(data):
pass

问题是,如何使用@pytest.mark.skipif 来跳过id为“0001”的测试?

最佳答案

你可以使用 pytest.param ( reference ) 接受一个 marks 可选参数:

testdata = [
pytest.param(MyDB(id="0001", result=True), marks=pytest.mark.skip)
MyDB(id="0002", result=False)
]
@pytest.mark.parametrize("data", testdata, ids=[repr(id) for id in testdata])
def test_1(data):
pass

您也可以(这是一个很好的做法)说明为什么跳过测试:

pytest.param(MyDB(id="0001", result=True),
marks=pytest.mark.skip(reason=('a good and informative reason'))

关于python - 如何跳过特定的参数化测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56115842/

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