0

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

4

3 回答 3

1

当然是。当您依赖“外部”服务时,合同测试特别有用,外部是指不受您直接控制的任何服务,包括您提到的情况。是 Martin Fowler 的一篇有趣的文章。

于 2017-07-26T14:51:49.980 回答
1

简短的回答:不,在任何情况下都不需要合同测试,就像单元测试一样。

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

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

于 2017-07-27T03:40:18.927 回答
1

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

于 2017-07-28T00:07:53.073 回答