Как выполнить миллионы юнит-тестов быстро, то есть за 20–30 минут?
Вот сценарий:
- Вы выпускаете определенное оборудование, и у вас есть, скажем, 2000 модульных тестов.
- Вы выпускаете новое железо и у вас есть дополнительные 1000 тестов для этого.
Каждое новое оборудование будет включать в себя тесты, но вам также придется запускать и выполнять все предыдущие, и их количество будет увеличиваться, как и время выполнения.
Во время разработки это решается категоризацией, использованием атрибута TestCategory
и запуском только того, что вам нужно.
Однако CI должен запускать каждый отдельный тест. По мере увеличения числа время выполнения замедляется, а иногда и время ожидания истекает. .testrunconfig
уже настроен на выполнение parallelTestCount
, но со временем это не решает проблему навсегда.
Как бы вы решили это?