【发布时间】:2017-06-14 22:08:53
【问题描述】:
我正在测试一些带有几个参数的工程方程,这些参数返回浮点数组。为了测试所有情况,我想使用一些固定装置。我目前将测试用例存储在一个简单的文件中,加载它们,然后返回感兴趣的测试用例。有没有更好的方法来做到这一点?
@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
【问题讨论】:
-
我不确定我是否理解了这个问题。为什么不直接在 python 文件中内联数组?
-
因为Python文件中的数据相当复杂
-
你的意思是 JSON 文件?如果是,并且您必须将数据保存在 JSON 文件中,那么就差不多了。您可以通过例如使用
pytest_generate_tests钩子扫描目录并为那里的每个文件运行测试来对此代码进行轻微改进。这样当你创建一个新的 JSON 文件时,它会自动添加到测试中。