【发布时间】:2017-08-24 14:15:18
【问题描述】:
是否可以扩展py.test fixture 中使用的参数?
例如,我将使用此代码生成一个简单的夹具来返回字母 a、b 和 c。
@pytest.fixture(params=['a', 'b', 'c'])
def first_three_letters(self, request):
return request.param
但是,如果我想再扩展三个字母 - 即 d、e 和 f - 我目前正在创建一个全新的装置
@pytest.fixture(params=['a', 'b', 'c', 'd', 'e', 'f'])
def first_six_letters(self, request):
return request.param
这感觉不符合DRY原则。有没有办法以可扩展的方式使用 py.test 固定装置?
我可以直接在测试中使用参数,但是两个fixture都有很多测试,所以会有很多包含@pytest.mark.parametrize的重复行,所以感觉更不干。
【问题讨论】: