我们在一些项目中使用 Spring Cloud 合约测试,因为它有很好的特性,而且我们所有的项目都使用 Spring。然而,这些测试变得非常不稳定,开发人员只是禁用它们,因为即使接口没有任何变化,它们也会破坏构建。
我们在在线模式下为 Jenkins 配置了测试,因此他们从 Artifactory 下载存根。然而,由于存根已经在存储库中,测试经常(每月至少两次)崩溃。我们无权访问远程存储库来手动删除存根,因此我们更改了在离线模式下运行它们的配置。这一直有效,直到提供者的版本发生更改,因为测试无法在本地找到新版本的存根并且它们再次崩溃,我们再次将它们更改为在线模式。
正如您可能想象的那样,这并不理想,我们也很担心,因为本地存根可能是当前版本的过时副本,我们不会检测提供者何时发生重大更改。
有没有更好的方法来配置测试?如果我们可以配置它们,这样它们总是下载存根并覆盖本地存根,那就太好了。