Тестирование свойств Python с тайм-аутом
У меня есть определенное количество времени для тестирования системы. Могу ли я написать тест свойств Python, который запускает тесты свойств до истечения одного часа? Я искал решение в hypothesis
но я не мог найти один.
Я полагаю, что библиотеки тестирования свойств имеют своего рода генератор тестовых случаев, в котором я могу просто извлечь и выполнить его до истечения времени ожидания. Это было бы приемлемым ленивым решением.
1 ответ
Гипотеза не имеет генератора, из которого можно извлекать - внутренние компоненты реализованы совершенно иначе, чем обычная конструкция с отложенным бесконечным списком, используемая Quickcheck (потому что... Haskell).
У нас есть открытый вопрос о добавлении режима размытия, который (надеюсь) станет предметом проекта группы старшекурсников в Имперском колледже в начале 2019 года.
Пока это не готово, вы можете добавить @settings(timeout=60*60, suppress_health_check=HealthCheck.all(), max_examples=10**9)
на тест, и он должен работать в течение часа (или до обнаружения ошибки).