Вы можете встроить приоритеты в свои юнит-тесты и использовать только подмножество в качестве шлюза для проверки (Build Verification Test, или BVT ).Реже выполняйте тесты с более низким приоритетом (например, за ежедневную сборку, за прохождение теста или за выпуск продукта).Затем установите отдельные ограничения времени выполнения для каждого (или каждого набора), который удовлетворяет вашу команду разработчиков.
Я основываю приоритеты на том, насколько быстро мы прыгнем на исправление ошибки, о которой сообщалось в результате сбоя теста.P0 означает «необходимо исправить, даже если нам нужно ускорить график», P3 означает «возможно, никогда не исправить».
Одна из команд, над которыми я работал, сказала не более 2 минут на каждую функцию для BVT, ине накладывает никаких временных ограничений на тесты с более низким приоритетом.Разработчики должны были запустить около 5 тестовых наборов, и было разумно, если бы мы проверяли количество проверок на 10-минутные сборки.Но наши «модульные тесты» были огромными, интеграционными тестами, требующими особой среды, поэтому YMMV.