目前,我们的单元测试与应用程序代码一起提交,并在每次提交时由构建机器人作业执行。同样,计算代码覆盖率。但是,UT和覆盖范围是 - 或者可以 - 由开发人员在将新功能提交到存储库之前进行,因此CI过程似乎不会添加任何值。
您建议在CI服务器上执行哪些测试,这些测试在提交之前由开发人员 执行?
答案 0 :(得分:3)
所以CI过程似乎没有添加任何值
没有
CI不是“持续测试”,而是“连续集成”。作为集成构建的一部分运行测试的需求是验证所提交的更改是否可以成功集成与已存在的更改。是否在开发人员的本地潜在非集成工作站上传递的测试并不重要。
CI服务器应执行单元测试(任何任何合理快速的自动化测试),以验证构建的当前状态。该状态可能与单个开发人员工作站上的状态不同。
它们可能是之前由开发人员运行的相同测试。但是测试运行的上下文在物理上是不同的,并且运行它们的需要在语义上是不同的。除非您按时钟周期收费,否则没有理由省略运行测试。
答案 1 :(得分:1)
答案 2 :(得分:1)
完全同意以前的帖子,因为单元测试主要是由开发者完成。因此,应作为CI流程的一部分执行的测试基于意见。取决于团队/项目的目标。
同样重要的是CI(服务器)为您提供单独的测试环境。因此,您的测试工作和执行可以独立运行。您的测试将在生产环境的克隆中执行。
在我的经验中,我主要使用CI服务器进行系统,集成,功能,回归测试和UAT。