当消费者和提供者都由同一家公司在不同的 Scrum 团队中开发时,是否需要进行合同测试?
Is Contract testing necessary when both consumer and provider are developed by the same company in different scrum teams?
当消费者和提供者都由同一家公司在不同的 Scrum 团队中开发时,是否需要进行合同测试?
是的,绝对是。当您依赖 'external' 服务时,合同测试特别有用,这里的外部是指不受您直接控制的任何服务,包括您提到的情况。 Here 是 Martin Fowler 的一篇有趣的文章。
简短回答:不,合同测试在任何情况下都没有必要,与单元测试一样。
长答案:没有测试会大大降低您作为开发人员在不破坏任何东西的情况下进行部署的信心。单元测试适用于测试单个功能,而合同测试适用于确定您的更改是否会影响您提供的数据的任何消费者。您的数据的消费者可以是任何人,可以是您房间对面的人、公司外部的客户甚至您自己。重点是尝试细分和简化开发过程,以便更早地发现问题。它还具有额外的好处,即您不需要 运行 本地数据生产者就可以让消费者在开发时工作,这在消费者没有(或不能)拥有的情况下绝对是一个很大的好处访问提供商代码,就像外部客户端一样。
这些工具旨在让您作为开发人员的生活更简单、更易于管理,Pact 努力在您的工作流程中实现这一点,并防止在生产中发生问题,并为开发人员提供潜在问题的更快反馈循环。
最初编写 Pact 的团队负责集成的两端,他们仍然发现契约测试很有价值。你现在两边都在发展,不代表你以后要继续对两边负责。合同测试将确保未来开发人员所做的更改不会破坏任何东西。
当消费者和提供者都由同一家公司在不同的 Scrum 团队中开发时,是否需要进行合同测试?
是的,绝对是。当您依赖 'external' 服务时,合同测试特别有用,这里的外部是指不受您直接控制的任何服务,包括您提到的情况。 Here 是 Martin Fowler 的一篇有趣的文章。
简短回答:不,合同测试在任何情况下都没有必要,与单元测试一样。
长答案:没有测试会大大降低您作为开发人员在不破坏任何东西的情况下进行部署的信心。单元测试适用于测试单个功能,而合同测试适用于确定您的更改是否会影响您提供的数据的任何消费者。您的数据的消费者可以是任何人,可以是您房间对面的人、公司外部的客户甚至您自己。重点是尝试细分和简化开发过程,以便更早地发现问题。它还具有额外的好处,即您不需要 运行 本地数据生产者就可以让消费者在开发时工作,这在消费者没有(或不能)拥有的情况下绝对是一个很大的好处访问提供商代码,就像外部客户端一样。
这些工具旨在让您作为开发人员的生活更简单、更易于管理,Pact 努力在您的工作流程中实现这一点,并防止在生产中发生问题,并为开发人员提供潜在问题的更快反馈循环。
最初编写 Pact 的团队负责集成的两端,他们仍然发现契约测试很有价值。你现在两边都在发展,不代表你以后要继续对两边负责。合同测试将确保未来开发人员所做的更改不会破坏任何东西。