如何在Spring云合约存根上获取服务状态

时间:2016-09-06 12:08:57

标签: java spring testing spring-cloud stubbing

研究spring cloud合同有一个关于测试statefull服务的问题。

有两项服务:服务器客户端服务器有一个状态,在我的情况下它有用户存储库。我可以使用scenarios测试带有Spring云合约的服务器状态。

我的第二步是使用服务器存根进行客户端测试。在这种情况下,我希望服务器存根与一个(或多个)用户。我可以签订这份合同(只是想象服务总是有用户),但它将是另一个合同。

使用同一合同验证服务器答案(首先是服务器处于零状态)并在客户端测试时将其存根(当我需要存根时)状态)?

UPD 更接近我的情况:我的服务器包含用户,可以在没有客户端参与的情况下创建/更新这些用户。对于组件测试服务器,我创建了合同方案"创建用户"。我想测试客户端,但需要服务器才能包含至少一个用户,即在服务器存根上获得一些特殊状态。在这种情况下我该怎么办?

  1. 有不同的合同来测试服务器客户端。在这种情况下,我如何验证我的客户合同是否属实。
  2. 如何播放场景或将服务器存根置于有一个用户的状态。
  3. PS试图通过评级来添加标签spring-cloud-contract。

1 个答案:

答案 0 :(得分:1)

是的,所以这个问题的答案是,在拥有控制器时,您应该将所有工作委托给服务。该服务应该被嘲笑。 Spring Cloud Contract是关于合同测试,而不是业务功能的精确复制。您可以在Stephane Nicoll https://spring.io/blog/2016/08/30/custom-test-slice-with-spring-boot-1-4

的优秀博客文章中阅读更多有关这种情况的信息