use*_*916 5 python unit-testing nose pytest
我开始使用pytest将单元测试添加到可以分析不同类型数据集的软件中.
我编写了一组测试函数,我想将它们应用于不同的数据集.一个复杂因素是数据集非常大,所以我想这样做:
等等.
现在我可以使用一个夹具使用一个数据集:
@pytest.fixture(scope="module")
def data():
return load_dataset1()
Run Code Online (Sandbox Code Playgroud)
然后传递data给每个测试功能.
我知道我可以将params关键字传递给pytest.fixture.但是,如何实现不同数据集的顺序加载(不能同时将所有数据集加载到RAM中)?
按照您提到的使用params:
@pytest.fixture(scope='module', params=[load_dataset1, load_dataset2])
def data(request):
loader = request.param
dataset = loader()
return dataset
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1068 次 |
| 最近记录: |