测试

时间:2017-10-18 18:25:25

标签: spring-cloud-contract

我的客户要求我提出有关Spring云合同的POC,因为我们将在全球项目中使用此框架。我已经按照在线和文档提供的示例进行了操作。但是,我几乎没有问题。

  1. 如果应用程序托管在DEV,STAG,PROD ..等不同环境中,我们需要为所有这三种环境生成存根吗?

  2. 有没有办法使用gradle脚本将存根存储到存储库?这样我就可以从存储库下载存根到我的本地测试环境并测试?

  3. 对不起,我对这个框架很陌生,非常感谢你的回答。 如果可能,请提供上述的一些样本。

    提前致谢

1 个答案:

答案 0 :(得分:1)

  

如果应用程序托管在DEV,STAG,PROD ..等不同环境中,我们需要为所有这三种环境生成存根吗?

这取决于您的部署策略,但总的来说,我不这么认为。您可以在Spring Cloud Pipelines项目中查看我的基本原理 - http://cloud.spring.io/spring-cloud-pipelines/single/spring-cloud-pipelines.html#_opinionated_implementation。如果要进行持续交付,则应该为当前构建的版本创建存根。该版本将通过一个部署管道,通过阶段和prod。

  

有没有办法使用gradle脚本将存根存储到存储库?这样我就可以从存储库下载存根到我的本地测试环境并进行测试?

您可以使用类路径扫描 - http://cloud.spring.io/spring-cloud-static/Dalston.SR4/multi/multi__spring_cloud_contract_stub_runner.html#_classpath_scanning。这样您就可以在类路径上设置存根,从而设置Gradle构建。如果您指的是下载存根以在单独的进程中运行它,您可以将其与Stub Runner Boot结合使用。示例可在此处获取 - https://github.com/spring-cloud-samples/github-analytics-stub-runner-boot-classpath-stubs/blob/master/pom.xml#L77-L88。这是一个Maven构建,但我确信你会得到这个想法(这个例子在Eureka中注册存根并将消息发送到真正的RabbitMQ实例,当然如果你不需要它们你可以删除这些功能)。