我们在一些项目中使用Spring Cloud合同测试,因为它具有很好的功能,我们所有的项目都使用Spring。然而,这些测试变得非常不稳定,开发人员只是禁用它们,因为即使接口没有任何变化,它们也会破坏构建。
我们在线模式下为Jenkins配置了测试,因此他们从Artifactory下载了存根。但是经常(每月至少两次)测试崩溃,因为存根已经存储在存储库中。我们无权访问远程存储库以手动删除存根,因此我们更改了在脱机模式下运行存根的配置。这有效,直到提供程序的版本发生更改,因为测试无法在本地找到新版本的存根,并且它们再次崩溃,我们再次将它们更改为在线模式。
正如您可能想象的那样,这并不理想,我们也担心,因为本地存根可能是当前版本的过时副本,我们不会检测提供商何时发生变化。
有没有更好的方法来配置测试?如果我们可以配置它们就会很好,所以它们总是下载存根并覆盖本地存根。
答案 0 :(得分:0)
重复Spring Cloud Contract remote artifact download clashes with local, how to make it temporary?
我也可以在这里复制答案:
此问题可能(并非总是会发生)在CI系统中发生 你有一个共享的.m2。在下一个版本(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)以禁用检查。