我在一家使用持续集成 (TeamCity) 的公司工作。每次有人在 CI 软件中进行检查时,都会启动构建并运行所有单元/自动测试。问题是我们有超过 7000 个单元测试 + 756 个自动化测试(用于测试 JavaScript,因为我们有一个非常复杂的 UI 逻辑来进行计算等)。每次有人进行检查时,您都可以进行成像,整个过程需要 2 个多小时才能完成所有步骤(构建-unitest-自动化测试),因此我需要等待很长时间才能获得结果以了解是否我的登记可能是自动测试或单元测试中断了。最糟糕的情况是,当不止一个人 checkin 某些东西时,TeamCity 开始排队构建,在我得到有效结果(日期)之前,我可以等待半天!我们应该采取什么策略来加快这个过程?即使有一点变化,它也是运行所有自动化测试的最佳实践吗?
最佳答案
我会考虑以两种方式拆分您的测试套件 - 目标是让您和您的团队可以登记入住,喝杯咖啡,并在您回到办公 table 前从团队城市获得一些有意义的反馈。
您可能还想增强您的 CI 机器,这取决于您的东西的性质,将测试的工作目录放在 tmpfs(RAM 磁盘)中。
关于asp.net - 持续集成和自动化测试策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6357599/