У меня есть набор тестов на основе Perl с 10 000 + тестами, которые я бы хотел сделать быстрее. Я тестировал с использованием флага -j
в prove
, и я обнаружил, что большинство тестов, но не все, готовы к параллельному запуску.
В то время как я могу работать над тем, чтобы остальные тесты были "дружественными друг к другу", я ожидаю, что всегда будут какие-то тесты, которых нет. Какой хороший способ справиться с этим? Я бы хотел, чтобы это было легко эффективно запускать весь набор тестов и упростить оценку тестов как "непараллельно-готовых", если мне нужно.
Вот некоторые варианты, которые я вижу:
- может быть исправлено, чтобы поддерживать некоторые тесты как непараллельные.
- Дженкинс используется для управления запуском набора тестов. Я мог отделить непараллельные тесты с их собственным прогоном. Другими словами, отказаться и использовать два тестовых прогона.
- Возможно, есть способ объединить два потока результатов
TAP
вместе, которые мне еще предстоит восстановить.
Я не слишком обеспокоен тем, как я буду управлять списком исключений. Либо я могу сохранить список в файле как часть инфраструктуры тестового жгута, либо я мог бы поместить что-то в каждый тестовый заголовок, который бы обозначил его как таковой, и наш тестовый жгут мог динамически определять список исключений.
(Набор тестов частично основан на Test:: Class, и я также буду искать Test:: Class:: Load, чтобы ускорить его.)