当消费者和提供者都由同一家公司在不同的Scrum团队中开发时,是否需要进行合同测试?

时间:2017-07-26 11:03:53

标签: jvm microservices datacontract pact

当消费者和提供者都是由同一家公司在不同的Scrum团队中开发时,是否需要进行合同测试?

3 个答案:

答案 0 :(得分:1)

是的,当然。当您依赖外部'时,合同测试尤其有用。服务,在外部我指的是任何不受您直接控制的服务,包括您提到的情况。 Here是Martin Fowler写的一篇有趣的文章。

答案 1 :(得分:1)

简短回答:不,合同测试在任何情况下都不是必要,与单元测试相同。

答案很长:没有测试会大大降低您作为开发人员在不破坏任何内容的情况下进行部署的信心。单元测试适用于测试单个功能,而合同测试可以很好地确定您的更改是否会影响您提供的数据的任何消费者。您的数据的消费者可以是任何人,可能是您房间的某个人,公司外部的客户甚至是您自己。重点是尝试细分和简化开发过程,以便及早发现问题。它还有一个额外的好处,你不需要在本地运行数据生成器只是为了让消费者在开发过程中工作,当消费者没有(或不能)访问提供者代码时,这绝对是一个很好的奖励,像外部客户一样。

这些工具旨在使您的开发人员生活更简单,更易于管理,Pact努力在您的工作流程中实现这一目标,并防止问题在生产中发生,并为开发人员提供更快的潜在问题反馈循环。

答案 2 :(得分:1)

首先编写Pact的团队负责整合的两端,他们仍然认为合同测试很有价值。仅仅因为你现在正在开发双方,并不意味着你将来会继续对双方负责。合同测试将确保未来开发人员所做的更改不会破坏任何内容。