gpt4 book ai didi

python - 如何在测试之间共享测试运行数据?

转载 作者:行者123 更新时间:2023-11-28 22:42:08 25 4
gpt4 key购买 nike

我想在不同的 pytest 测试文件之间共享数据和预期的失败。让我举个例子。我正在测试 test_a.py 中的 A 类和 test_b.py 中的 B 类。有趣的是,这两个类需要相互兼容,所以我想在相同的数据上测试它们,并将一些数据标记为 xfail。我该怎么做?

示例数据:

my_test_data = [
('test_data', 'expected_output'),
pytest.mark.xfail(('another_test', 'failing_output')),
]

我可以将其放入 conftest.py 并从测试中导入它,但显式导入感觉不对。

最佳答案

我已经通过在返回测试数据的 fixture 上使用参数来解决这个问题。如果将其放入 conftest.py 文件中,则可以自动使用测试文件中的 fixture 。这是一个例子:

# in conftest.py file
@pytest.fixture(params=my_test_data)
def my_test(request):
return request.params

conftest.py 中具有参数化数据返回 fixture 意味着您可以在测试中使用该数据而无需导入它:

# in test files themselves
def test_whatever(my_test):
# Do whatever you like with the test data
print my_test[0]

关于python - 如何在测试之间共享测试运行数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31968502/

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