在编写测试时,通常需要使用模拟而不是像Postgres或Stripe这样的第三方API。我看到的一个问题是,当API可能在不知不觉中偏离模拟返回的数据时。如何维护测试数据与实际API之间的契约?这是一个Javascript项目。
发布于 2015-12-27 03:38:30
很好的问题,这是一个非常常见的问题时,与商业第三方,我们无法访问。
首先,尽可能根据实际的API编写集成测试。
如果这不可行,请尝试获取API返回的真实数据样本,并基于它构建您的模拟。获取代表不同场景的多个示例,确保涵盖一般情况和边缘情况。
如果没有真实的数据,你就该开始思考了。首先做你的研究,看看其他类似的API还会返回什么。同时,问自己以下问题:
尝试提出一个“有效”的数据模型,您认为它将接近真实的数据模型。同样,请确保覆盖尽可能多的场景。
把时间花在尽可能真实的模拟上是值得的,当您开始查询API时,它可以节省大量的时间和麻烦。
希望你觉得这有帮助。
https://softwareengineering.stackexchange.com/questions/305733
复制相似问题