尽管您对问题的描述没有全面了解代码库,但我认为我可以肯定地说您的问题有两个方面。
学习编写正确的测试。
您说您有将近一千次测试,并且有120个项目。假设这些项目中最多有一半是测试项目,则对60个生产代码项目有1000个测试。这使您大约进行16-17次测试。项目!!!
这可能是我在生产系统中必须覆盖约1-2个班级的测试量。因此,除非每个项目中只有1-2个类(在这种情况下,您的项目结构过于精细),否则您的测试将太大,它们将覆盖太多的领域。您说这是您正确执行TDD的第一个项目。有人说,您提供的数字表明情况并非如此,您没有执行TDD属性。
您需要学习编写正确的测试,这可能意味着您首先需要学习如何使代码可测试。如果您找不到团队内部的经验来做到这一点,我建议您从外部聘请帮助,例如以一到两名顾问的形式帮助您的团队在2-3个月的时间里学习编写可测试的代码,最少的单元测试。
相比之下,在我目前正在从事的.NET项目中,我们可以在不到10秒的时间内运行大约500个单元测试(这甚至没有在高规格机器上进行测量)。如果这些是您的数据,那么您将不会害怕经常在本地运行这些数据。
学习管理项目结构。
您已将解决方案分为120个项目。按照我的标准,这是一个数量惊人的项目。
因此,如果实际上有那么多项目是有意义的(我觉得没有),但是您的问题没有提供足够的信息来对此做出合格的判断,那么您需要将项目分成较小的部分,可以分别构建,版本控制和部署。因此,当开发人员运行测试套件时,他/她只需要运行与他/她当前正在处理的组件有关的测试。构建服务器应注意验证所有内容是否正确集成。
但是根据我的经验,将项目分解为分别构建,版本化和部署的多个组件需要一个非常成熟的开发团队,这个团队比我觉得您的团队更成熟。
但是无论如何,您需要对项目结构做些事情。要么将项目拆分为单独的组件,要么开始合并项目。
问自己是否真的需要120个项目?
ps您可能想签出NCrunch。这是一个Visual Studio插件,可在后台自动运行测试。