gpt4 book ai didi

python - 在多个数据集上运行相同的测试

转载 作者:太空狗 更新时间:2023-10-30 01:01:45 25 4
gpt4 key购买 nike

我开始使用 pytest 将单元测试添加到可以分析不同类型数据集的软件中。

我写了一组测试函数,我想将它们应用于不同的数据集。一个复杂的问题是数据集非常大,所以我想这样做:

  • 加载数据集1
  • 运行测试
  • 加载数据集2
  • 运行测试

等等。

现在我可以使用一个 fixture 来使用一个数据集:

@pytest.fixture(scope="module")
def data():
return load_dataset1()

然后将数据传递给每个测试函数。

我知道我可以将 params 关键字传递给 pytest.fixture。但是,如何实现不同数据集的顺序加载(而不是同时将所有数据集加载到 RAM 中)?

最佳答案

如您所述使用params:

@pytest.fixture(scope='module', params=[load_dataset1, load_dataset2])
def data(request):
loader = request.param
dataset = loader()
return dataset

使用fixture finalization如果你想做固定装置特定的终结:

@pytest.fixture(scope='module', params=[load_dataset1, load_dataset2])
def data(request):
loader = request.param
dataset = loader()
def fin():
# finalize dataset-related resource
pass
request.addfinalizer(fin)
return dataset

关于python - 在多个数据集上运行相同的测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22591297/

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