春云合同远程下载神器有冲突的地方,如何让它暂时的?(Spring Cloud Contract re

2019-10-31 06:42发布

我有春云问题合同2.0.0.M6,或有件事我必须误解如何正确配置存根亚军测试。

我要永远远程下载神器,所以我已经设置stubsModeREMOTE

当我在本地运行测试,我有神器在我的目录中的.m2,它失败。 这很好,我能够理解作者之一提出的各点这里 。

我的问题是,当我删除本地存根罐子,并运行测试用例,文物被下载,并再次把我的.m2目录目录内。 实际上,这只是让我一次运行一个存根亚军,那是因为我有本地文件失败。 我必须每次测试运行之后,从保持的.m2删除神器。

我已经通过配置解决此工作:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <configuration>
        <systemPropertyVariables>
            <maven.repo.local>
                ${project.build.directory}/repo/${maven.build.timestamp}
            </maven.repo.local>
        </systemPropertyVariables>
    </configuration>
</plugin>

这意味着,每存根亚军运行时,它会检查并下载到一个新的“随机”目录/target/repo/<date>

什么是这样做的正确方法?

Answer 1:

当你有一个共享的,这可能问题(但并不总是发生)发生在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)以禁用检查。



文章来源: Spring Cloud Contract remote artifact download clashes with local, how to make it temporary?