0

我们在一些项目中使用 Spring Cloud 合约测试,因为它有很好的特性,而且我们所有的项目都使用 Spring。然而,这些测试变得非常不稳定,开发人员只是禁用它们,因为即使接口没有任何变化,它们也会破坏构建。

我们在在线模式下为 Jenkins 配置了测试,因此他们从 Artifactory 下载存根。然而,由于存根已经在存储库中,测试经常(每月至少两次)崩溃。我们无权访问远程存储库来手动删除存根,因此我们更改了在离线模式下运行它们的配置。这一直有效,直到提供者的版本发生更改,因为测试无法在本地找到新版本的存根并且它们再次崩溃,我们再次将它们更改为在线模式。

正如您可能想象的那样,这并不理想,我们也很担心,因为本地存根可能是当前版本的过时副本,我们不会检测提供者何时发生重大更改。

有没有更好的方法来配置测试?如果我们可以配置它们,这样它们总是下载存根并覆盖本地存根,那就太好了。

4

1 回答 1

0

Spring Cloud Contract远程工件下载的副本与本地冲突,如何使其成为临时的?

让我也在这里复制答案:

当您有一个共享的 .m2 时,这个问题可能(并不总是发生)出现在 CI 系统中。在下一个版本(1.2.x 和 2.0.0)中,由于关闭了此问题 https://github.com/spring-cloud/spring-cloud-contract/issues/545,您将能够通过 stubrunner .snapshot-check-skip 系统属性或 STUBRUNNER_SNAPSHOT_CHECK_SKIP 环境变量或设置插件属性(仅适用于 2.0.0)以禁用检查。

于 2018-03-02T12:01:19.827 回答