【发布时间】:2017-12-12 10:15:19
【问题描述】:
目前我正在使用来自au.com.dius lib 的pact-jvm-consumer/provider-junit_2.11。让我的消费者协议工作并生成协议,但是当我尝试在我的提供者服务中使用这些协议时,问题就出现了。
这个想法是让所有的契约都与 junit 测试集成在一起,这样每个人都可以在本地运行他们的单元测试,而不必担心额外的契约测试。
主要问题是:
如何处理这个问题,假设被测服务需要另一个服务(授权服务)和一个数据库作为数据馈送器。我不太相信每次在本地运行这些实例而不是杀死它们就可以了。 (甚至希望在将这些部署到任何环境之前执行测试)
这是否应该通过某种“hack-switch”来处理,以在“某些情况下”作为授权用户始终返回 true,并模拟数据馈送器?还是应该以其他方式处理?
其次(附带问题): 一旦我准备好我的协议,我应该如何针对消费者进行测试?到目前为止,我得到了类似的东西:(效果很好,但我也不确定这些)
assertThat(result, instanceOf(DataStructure.class)); *as an example*
以上内容是为了确保我收到并推送给我的消费者的数据与我所期望的格式完全相同。可以吗,或者正确的方法是打开所有这些并单独检查它们是否是例如地图或字符串
提前致谢!
【问题讨论】: