我正在尝试重复测试 N 次(收集的相同测试)。
为什么:通过这样做,我想看看测试的速度是否会降低,或者我可以收集一个参数的“平均时间”,然后传递另一个参数并再次获得“平均时间”。
我的理解是使用def pytest_runtestloop()
钩子,但是我遇到了麻烦。
这是我的钩子代码:
def pytest_runtestloop(session):
repeat = int(session.config.option.repeat)
assert isinstance(repeat, int), "Repeat must be an integer"
for i in range(repeat): #@UnusedVariable
session.config.pluginmanager.getplugin("main").pytest_runtestloop(session)
return True
问题是“设置”仅在第一次运行:例如:
class TestSomething(object):
@classmethod
@pytest.fixture(scope = "class", autouse = True)
def setup(self):
//setup function
def test_something(self):
//test function
这里setup
只会在第一个周期被调用,如果我设置为 2test_something
会被调用两次session.config.option.repeat
我究竟做错了什么?有更好的方法吗?