Вы идете по неверному кроличьему целому: общее время всех ваших юнит-тестов все еще находится в очень разумном диапазоне!
Во время разработки (возможно, с использованием TDD) вас не волнует все модульные тесты.Вы заботитесь только о тех, которые имеют отношение к текущему компоненту / пакету / ...!
Как в: при внесении изменений в файл A
, вы, вероятно, захотите (вручную) запустить все модульные тестыдля каталога, в котором находится A
. Вы вносите еще одно небольшое изменение, вы снова запускаете эти тесты.
Затем, позже, когда вы думаете: «Я закончил сейчас», затем Вы вызываете все юнит-тесты, чтобы убедиться, что вы не сломали что-то на другом конце здания, переставив мебель в этой комнате здесь.
Итак, ответ таков: у вас все хорошо, не волнуйтесь.
У нас более 5000 модульных тестов Java.На нашем самом быстром сервере сборки может потребоваться около 10 минут, чтобы сработать их все.Но это все еще хорошо.Бэкэнд-билд все еще возвращается через 20 минут и сообщает нам «сломан» или «все в порядке».Зачем?Поскольку сервер сборки включается только тогда, когда я решаю, что мой набор изменений завершен, и я отправляю его на сервер.
Если эти 25 секунд являются проблемой, то, поскольку вы запускаете все тесты слишком часто, потому что вы запускаете их вручную.Теперь: скорее потратьте энергию, придумывая умные способы, чтобы выполнять релевантные тесты только при эффективной работе над конкретными проблемами.(в Java с JUnit это просто: я щелкаю по текущему пакету и иду «запустить все тесты здесь»)