Сроки проблемы в тесте носа Python - PullRequest
0 голосов
/ 23 ноября 2011

У меня есть несколько модульных тестов, которые чувствительны ко времени: действие рассчитано по времени, и возникает ошибка, если она занимает слишком много времени.При запуске по отдельности эти тесты проходят успешно, но при рекурсивном запуске носа на моих модулях они часто дают сбой.Я запускаю параллельные тесты, что, вероятно, является одной из причин, по которым время отключено.Есть ли способ указать, что я хочу, чтобы этот тест выполнялся без перерывов?

1 Ответ

1 голос
/ 23 ноября 2011

Я думаю, что ваша проблема зависит от того, как вы реализовали время. Решение, которое я бы лично принял, состояло в том, чтобы установить переменную окружения, которая контролирует поведение тестов. Кандидатами могут быть:

  • if WITH_TIMING == False [вообще отключить время]
  • TIME_STRETCH_FACTOR = ... [применить множитель растягивания по времени в случае запуска параллельного теста, так что, например, ограничение времени 5 станет 7,5, если TIME_STRETCH_FACTOR будет 1,5]

Если это не вариант, возможный некрасивый обходной путь - это смоделировать функцию time.time(), возвращая ей постоянное значение [это будет работать, только если вы используете time.time() в своих тестах прямо конечно] ...

НТН

...