Я пытаюсь повторить тесты N раз (те же самые тесты, которые собираются).Повторяйте цикл тестирования с помощью Py.test
Почему: Я хочу проверить, уменьшается ли скорость тестов или я могу собрать «среднее время» одного параметра, а затем передать другой параметр и снова получить «среднее время».
Мое понимание заключается в использовании 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
будет вызываться только в первом цикле, и test_something
будет называться оба раза, если я установил session.config.option.repeat
на 2
Что я делаю неправильно? Есть ли лучший подход?