CD 中的自动化测试

Automated testing in CD

持续集成应该包括什么类型的测试? 是只有单元测试还是还有integration/API、UI? 或者 integration/API 和 UI 测试应该只包含在连续的 deployment/delivery 管道中?

这个答案在很大程度上取决于您试图从 CI 系统中获取什么以及执行这些测试需要多长时间。如果它使您的 CI 代理长时间停机,您将失去拥有 CI 系统的好处。

这给您留下了 3 个选择:

  1. 运行 启动部署时。如果您的组织有多个部署环境(例如,开发、测试、生产)要部署到,您可以将这些测试设置为仅在升级到更适合发布的环境之一时执行。这将允许您继续部署到开发或测试环境以进行本地测试。
  2. 运行 在预定的时间间隔(例如整夜)进行这些测试。
  3. 创建一个复杂的并行构建系统,您可以在一个阶段编译和 运行 单元测试,并有一个专门的代理 运行 测试。但是,您可能 运行 遇到这样的情况,即您的测试要么排队几天,要么必须支付多个代理费用。