我有这种类型的代码:
@pytest.mark.run(order=2)
@pytest.mark.parametrize('time_ms', range(100, 160, 20))
def test_wifi_advertising_interval(time_ms):
test_wifi_screen_edit()
....
....
现在,我想要的是在一个SINGLE行中生成所有命令(在我的情况下是其中两个),
像这样:@pytestCodeWithSingleLine(pytest.mark.parametrize('time_ms', range(100, 160, 20),pytest.mark.run(order=2)))
有可能吗? 感谢
答案 0 :(得分:0)
你可以编写一个很容易组合装饰器的函数:
def combine(*decorators):
def combined_decorator(func):
for deco in decorators:
func = deco(func)
return func
return combined_decorator
这不是pytest
特定的,它应该适用于在单独的行上编写时一起工作的装饰器的任何组合。
虽然这并不难,但这并不一定意味着这样做是个好主意。我认为您的代码的两行版本比一个长行上的组合版本更容易理解,因此我建议保留未组合版本。