3

我们在持续集成过程中使用 Jenkins 运行 BDD 测试(Cucumber/Selenium)。测试的数量每天都在增加,运行这些测试的时间也越来越长,这使得整个 CI 过程没有真正响应(如果您在下午提交,您可能会冒着第二天看到构建结果的风险)。尽管测试数量不断增加,有没有一种方法/模式可以保持 CI 流程快速?

4

2 回答 2

4

您可以选择以下方案之一:

  1. 为单元测试和集成测试分开项目。单元测试将更快地返回结果,并且集成项目将每天运行一次或仅运行几次,而不是在每次提交后运行。缺点很明显,如果集成测试套件中断,则与中断更改没有相关性。
  2. Google 方法 - 根据大小对您的测试进行分类:小型、中型、大型和巨大。根据运行特定测试套件所需的总时间,为每种测试使用单独的项目。您可以在本书中阅读更多内容。此外,阅读博客以获得更多明智的想法。
  3. 尝试分析您当前的测试套件以消除瓶颈。这可能会使其及时返回以提供反馈。

希望有帮助。

于 2012-10-13T08:02:20.463 回答
3

@Ikaso 在那里给出了一些很好的答案。另一种选择是设置一些构建从属(如果您还没有的话)并将集成测试拆分为多个可以在从属上并行运行的作业。

于 2012-10-14T16:32:17.277 回答