問題の説明はコードベースの完全な洞察を与えるものではありませんが、私はあなたの問題が二重にあると安全に言えると思います。
適切なテストを書くことを学ぶ。
ほぼ1,000のテストがあり、120のプロジェクトがあると言います。これらのプロジェクトの最大で半分がテストプロジェクトであると仮定すると、60の実動コードプロジェクトに対して1000のテストがあります。それはあなたに約16-17のテストprを与えます。プロジェクト!!!
それはおそらく、実動システムで約1-2クラスをカバーする必要があるテストの量です。したがって、各プロジェクトに1-2クラスしかない場合(プロジェクト構造が細かすぎる場合)、テストが大きすぎる場合、それらはあまりにも多くの地面をカバーします。これは、TDDを適切に行っている最初のプロジェクトだと言います。たとえば、あなたが提示する数字は、そうではないことを示しており、TDDプロパティを実行していません。
適切なテストを書くことを学ぶ必要があります。これはおそらく、最初にコードをテスト可能にする方法を学ぶ必要があることを意味します。チーム内でそのような経験が見つからない場合は、外部からの助けを借りることをお勧めします。たとえば、テスト可能なコードを書くことを学ぶために2〜3か月にわたってチームを支援する1〜2人のコンサルタントの形で最小ユニットテスト。
比較として、私が現在取り組んでいる.NETプロジェクトでは、10秒未満で約500のユニットテストを実行できます(これはハイスペックマシンでも測定されませんでした)。それらがあなたの数字であれば、これらを頻繁にローカルで実行することを恐れないでしょう。
プロジェクト構造の管理を学びます。
ソリューションを120のプロジェクトに分割しました。それは私の基準では驚異的な量のプロジェクトです。
そのため、実際にその量のプロジェクトを持っていることが理にかなっている場合(そうではないと感じています-しかし、あなたの質問はこれを適切に判断するのに十分な情報を提供しません)、プロジェクトをより小さいコンポーネントに分割する必要があります個別にビルド、バージョン管理、デプロイできます。そのため、開発者がユニットをテストスイートで実行する場合、開発者は現在作業中のコンポーネントに関連するテストを実行するだけで済みます。ビルドサーバーは、すべてが正しく統合されていることを確認する必要があります。
しかし、プロジェクトを複数のコンポーネントに分けてビルド、バージョン管理、デプロイする場合、私の経験では非常に成熟した開発チームが必要になります。開発チームはあなたのチームの感覚よりも成熟しています。
とにかく、プロジェクトの構造について何かをする必要があります。プロジェクトを個別のコンポーネントに分割するか、プロジェクトのマージを開始します。
本当に120のプロジェクトが必要かどうかを自問してください。
ps NCrunchをチェックしてみてください。バックグラウンドでテストを自動的に実行するVisual Studioプラグインです。