我在一家使用持续集成(TeamCity)的公司工作。每当有人进行代码提交时,CI软件就会启动构建并运行所有单元/自动化测试。问题在于,我们有超过7000个单元测试和756个自动化测试(用于测试JavaScript,因为我们有非常复杂的UI逻辑来进行计算等)。正如你所想象的那样,每次有人提交代码,整个过程需要超过2小时才能完成所有步骤(构建-单元测试-自动化测试),因此我需要等待这么长时间才能得到结果,以了解我的提交是否破坏了自动化测试或单元测试。最糟糕的情况是当多个人同时提交代码时,TeamCity开始排队构建,而在我能够获得有效结果之前,我可能需要等待半天!我们应该采取什么策略来加快这个过程?是否最佳实践是针对即使是小变更也运行所有自动化测试?