我正在进行集成测试,从API获取响应答:API A与另一个API B交互,该B也调用Web Service从中获取数据。模拟一个Web服务仅用于测试目的
问题是数据可能会在将来发生变化,因此集成测试可能会失败,只要数据发生变化,我也必须编辑测试以使其工作。
我想模拟从中获取数据的Web服务,但我不知道如何告诉API B仅针对测试调用模拟, 有没有人有关于执行此操作的最佳方法的想法?
我正在进行集成测试,从API获取响应答:API A与另一个API B交互,该B也调用Web Service从中获取数据。模拟一个Web服务仅用于测试目的
问题是数据可能会在将来发生变化,因此集成测试可能会失败,只要数据发生变化,我也必须编辑测试以使其工作。
我想模拟从中获取数据的Web服务,但我不知道如何告诉API B仅针对测试调用模拟, 有没有人有关于执行此操作的最佳方法的想法?
您可以使用像http://rest-assured.io/或http://wiremock.org/这样的工具。 有了这个,你可以像通常一样完成API调用(可能需要更改主机名)。然后,您可以在URI,内容类型等上给出某个结果。
甚至可以执行断言,查看实际请求是否发生,并且可以对请求的内容进行一些检查。
如果API A和B与集成测试运行在相同的JVM实例中,那么您应该能够模拟Web服务客户端(由Java类表示),以便返回一些固定的测试数据。 –
从我有数据的Web服务是一个SOAP Web服务,所以在我的API B中,我调用客户端,但只测试,我想模拟从客户端返回的数据,并且在正常情况下,API B与另一个客户,我该怎么做? – manu