Sebbene la tua descrizione del problema non fornisca una visione approfondita della base di codice, penso di poter tranquillamente affermare che il tuo problema è duplice.
Impara a scrivere i test giusti.
Dici di avere quasi mille test e di 120 progetti. Supponendo che al massimo metà di questi progetti siano progetti di test, sono disponibili 1000 test per 60 progetti di codice di produzione. Questo ti dà circa 16-17 test pr. progetto!!!
Questa è probabilmente la quantità di test che avrei dovuto coprire circa 1-2 classi in un sistema di produzione. Quindi, a meno che tu non abbia solo 1-2 classi in ciascun progetto (nel qual caso la struttura del tuo progetto è troppo fine) i tuoi test sono troppo grandi, coprono troppo terreno. Dici che questo è il primo progetto che stai facendo correttamente TDD. A dire il vero, i numeri che presenti indicano che non è così, non stai facendo la proprietà TDD.
Devi imparare a scrivere i test giusti, il che probabilmente significa che devi prima imparare a rendere testabile il codice. Se non riesci a trovare l'esperienza all'interno del team per farlo, ti suggerirei di assumere aiuto dall'esterno, ad esempio sotto forma di uno o due consulenti che aiutano il tuo team per una durata di 2-3 mesi a imparare a scrivere codice testabile, e piccoli test unitari minimi.
A titolo di confronto, sul progetto .NET su cui sto attualmente lavorando, possiamo eseguire circa 500 test unitari in meno di 10 secondi (e questo non è stato nemmeno misurato su una macchina con specifiche elevate). Se quelle fossero le tue figure, non avresti paura di gestirle localmente ogni tanto.
Impara a gestire la struttura del progetto.
Hai diviso la soluzione in 120 progetti. Questo è secondo i miei standard una quantità sbalorditiva di progetti.
Quindi, se ha senso avere effettivamente quella quantità di progetti (cosa che ho la sensazione che non abbia - ma la tua domanda non fornisce abbastanza informazioni per dare un giudizio qualificato su questo), devi dividere i progetti in componenti più piccoli che può essere compilato, versionato e distribuito separatamente. Pertanto, quando uno sviluppatore esegue l'unità della suite di test, deve solo eseguire i test relativi al componente su cui sta lavorando attualmente. Il server di compilazione dovrebbe occuparsi di verificare che tutto si integri correttamente.
Ma suddividere un progetto in più componenti compilati, sottoposti a versione e distribuiti separatamente richiede nella mia esperienza un team di sviluppo molto maturo, un team più maturo di quanto io abbia la sensazione che il tuo team sia.
Ma in ogni caso, devi fare qualcosa per la struttura del progetto. Dividi i progetti in componenti separati o inizia a unire i progetti.
Chiediti se hai davvero bisogno di 120 progetti?
ps Potresti voler dare un'occhiata a NCrunch. È un plug-in di Visual Studio che esegue automaticamente il test in background.