Py.测试反复循环测试

2024-09-23 06:32:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我试着重复测试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

问题是“设置”只在第一次运行: 例如:

^{pr2}$

这里setup将只在第一个循环中调用,如果我将session.config.option.repeat设置为2,则{}将同时被调用

我做错什么了?有更好的方法吗?在


Tags: 代码config参数pytestsessiondef时间assert
1条回答
网友
1楼 · 发布于 2024-09-23 06:32:56

pytest-2.3.4似乎在内部保持某种状态,防止fixture再次运行。pytest_runtest_loop编写时没有考虑到您的用例。你可以提出一个关于它的“错误”问题,我们可以看看我们可以做些什么来修复它。(我很快地看了看,但看不出出出了什么问题,需要更多的探索)。在

相关问题 更多 >