首页 > 解决方案 > 如果我测试一个拉取请求构建,我是否需要在合并后运行相同的测试?

问题描述

我正在使用具有拉取请求构建和分支构建的 Travis CI。我确信这对其他 CI 服务很常见。

如果我有一个develop分支和一个feature/A分支,那么当我从feature/Atarget打开拉取请求时develop,拉取请求构建会运行我的单元测试。

假设我的单元测试通过,我合并拉取请求和分支构建触发器,因为对develop. 此分支构建构建我的容器并将其部署到开发环境。

我应该在我的分支构建上运行与拉取请求构建期间相同的单元测试套件,还是可以安全地假设因为拉取请求测试通过了,分支构建也会?运行这些测试会浪费周期吗?

标签: gitgithubcontinuous-integrationtravis-cidevops

解决方案


这实际上是一个很好的问题,而且一点也不罕见,根据我的经验,tests再次运行是一个好主意,除非你是唯一一个making pull requests这样做的人branch,假设你的tests运行正确,但有人pull request在你之前做出了正确的决定,而你feature-branch不是与该代码保持同步,一些代码可能mergeddevelop-branch影响您已经使用的某些流程tested,这可能会导致fail/misbehavior您的代码出现问题。避免将这些推misbehaviors送到实时环境的一种方法是tests在接受 a 后立即再次运行pull request,这将为您的管道增加一些周期,但我认为它可以缓解hotfixes/issues.


推荐阅读