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

Jvm 当消费者和提供者都由同一家公司在不同的scrum团队中开发时,合同测试是否必要?,jvm,microservices,datacontract,pact,Jvm,Microservices,Datacontract,Pact,当消费者和提供者都由同一家公司在不同的scrum团队中开发时,合同测试是必要的吗?是的,当然。当您依赖“外部”服务时,合同测试尤其有用,这里的“外部”指的是不在您直接控制下的任何服务,包括您提到的案例。是马丁·福勒写的一篇有趣的文章。是的,当然。当您依赖“外部”服务时,合同测试尤其有用,这里的“外部”指的是不在您直接控制下的任何服务,包括您提到的案例。是Martin Fowler的一篇有趣的文章。简短回答:不,契约测试在任何情况下都是不必要的,就像单元测试一样 长话短说:没有测试大大降低了您作为

当消费者和提供者都由同一家公司在不同的scrum团队中开发时,合同测试是必要的吗?

是的,当然。当您依赖“外部”服务时,合同测试尤其有用,这里的“外部”指的是不在您直接控制下的任何服务,包括您提到的案例。是马丁·福勒写的一篇有趣的文章。

是的,当然。当您依赖“外部”服务时,合同测试尤其有用,这里的“外部”指的是不在您直接控制下的任何服务,包括您提到的案例。是Martin Fowler的一篇有趣的文章。

简短回答:不,契约测试在任何情况下都是不必要的,就像单元测试一样

长话短说:没有测试大大降低了您作为开发人员在不破坏任何东西的情况下部署的信心。单元测试适用于测试单个功能,而契约测试则适用于计算您的更改是否会影响您提供的数据的任何使用者。您数据的消费者可能是任何人,可能是房间对面的某个人,公司外部的客户,甚至是您自己。整个要点是尝试分割和简化开发过程,以便尽早发现问题。它还有一个额外的好处,即您不需要在本地运行data producer就可以让使用者在开发过程中工作,这在使用者没有(或不能)访问提供者代码(如外部客户端)时无疑是一个巨大的好处


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

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

长话短说:没有测试大大降低了您作为开发人员在不破坏任何东西的情况下部署的信心。单元测试适用于测试单个功能,而契约测试则适用于计算您的更改是否会影响您提供的数据的任何使用者。您数据的消费者可能是任何人,可能是房间对面的某个人,公司外部的客户,甚至是您自己。整个要点是尝试分割和简化开发过程,以便尽早发现问题。它还有一个额外的好处,即您不需要在本地运行data producer就可以让使用者在开发过程中工作,这在使用者没有(或不能)访问提供者代码(如外部客户端)时无疑是一个巨大的好处


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

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

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

对。即使我是公司里唯一的开发者,我也会这么做。即使我是公司唯一的开发者,我也会这么做。所以你的意思是,当一个团队开发所有的微服务时,它并没有真正的用处?我的意思是,根据定义,它主要针对外部服务。如果是一个团队,我个人也会这样做,因为我喜欢确保如果行为发生变化,在代码进入生产之前会有一些东西警告我。然而,有些人会争辩说,这是个人的选择,取决于为开发人员分配的时间、服务类型等。所以你的意思是,当一个团队开发所有的微服务时,它并没有真正的用处?我的意思是,从定义上讲,它主要针对外部服务。如果是一个团队,我个人也会这样做,因为我喜欢确保如果行为发生变化,在代码进入生产之前会有一些东西警告我。然而,有些人认为这是个人的选择,取决于为开发人员分配的时间、服务类型等。。。