我正在测试一些工程方程式,其中包含多个返回浮点数组的参数。为了测试所有的情况,我想使用一些固定装置。我目前,将测试用例存储在一个简单的文件中,加载它们,然后返回感兴趣的测试用例。有更好的方法吗?
@pytest.fixture(params=[0, 1, 2])
def test_case(request):
fpath = pathlib.Path(__file__).parent
fpath /= 'test_data' / 'test_cases.json'
test_cases = json.load(fpath.open())
return test_cases[request.param]
def test_function(test_case):
# Run the test
答案 0 :(得分:0)
您可以使用pytest_generate_tests。
def pytest_generate_tests(metafunc):
if 'test_case' in metafunc.fixturenames:
fpath = pathlib.Path(__file__).parent
fpath /= 'test_data' / 'test_cases.json'
test_cases = json.load(fpath.open())
metafunc.fixturenames.append('test_case')
metafunc.parametrize(
'test_case',
test_cases)