Здесь есть несколько вещей.
Как правило, у вас будет несколько сборок, одна для компиляции и запуска модульных тестов, другая для локальных приемочных тестов и другая для интеграционных тестов..
Вам определенно не нужно нужна единственная сборка, которая делает все.
Ваше время сборки для меня звучит довольно долго - помните, что смысл в том, чтобы дать быстрых отзывов о том, что что-то пошло не так.Я не очень разбираюсь в вашем проекте - но я думаю, что вам стоит обратить внимание на то, чтобы компиляция и сборка тестового модуля сократились до двух-трех минут.Это вполне достижимо во всех, кроме очень крупных проектах, поэтому, если ваши юнит-тесты занимают много времени, тогда самое время спросить, почему.
6 часов - это тоже очень много времени.Вы уверены, что ваши тесты проверяют правильные вещи?у вас есть слишком много тестов широкого спектра?используете ли вы повсеместно «sleep ()», чтобы наверстать то, что вы не смоделировали асинхронность в тестовом коде?
Вероятно, вам следует взять книгу Джеза Хамблса «Непрерывная доставка» иПосмотрите на растущее объектно-ориентированное программное обеспечение, как писать модульные / интеграционные тесты.GOOS использует Java в качестве языка реализации, но все концепции одинаковы.