测试第三方API

时间:2016-06-16 15:41:21

标签: unit-testing

我想测试第三方API,例如forecast.io,但我不太清楚如何实现我想要实现的目标。

我已经在互联网上阅读过我应该使用模拟对象的内容。但是,模拟对象的概念不是我需要的,因为我不想测试我的解析实现而不是网络调用本身。

我想测试一下,如果URL仍在工作,如果我的API密钥仍在工作,如果请求仍然是预期的格式,那么GSON不会崩溃或其他与网络调用本身直接相关的东西。< / p>

有没有好办法呢?

非常感谢

TLDR;我不需要模拟对象!

1 个答案:

答案 0 :(得分:1)

我将尽力回答这个问题。我知道OP希望避免测试每种类型的响应,但如果您依赖这些数据来保证用户和/或收入的连续性,您可以考虑创建一个api调用者,以便您可以查看api响应的每个部分。以及测试URL,api密钥等。我会使用OO语言,但我确定还有其他方法。

一般来说:

  1. 创建一个可以调用api的进程/库/软件
  2. 序列化/存储您期望的数据(OP在OP的情况下)
  3. 使用xUnit或NUnit进行单元测试
  4. 使其自动运行每x个时间段并生成包含成功/更改/失败消息的电子邮件
  5. 如果您指望它,这不是一个小项目 - 需要拧紧所有螺钉和螺栓。每一步都应该有自己的问题(可能已经有一个)。

    [我可以在C#中添加一些示例代码,如果有帮助的话]

    如何自动执行此操作并向您发送电子邮件是一个完全不同的问题,但希望这可以让您了解面向对象的库如何帮助您测试您自己的软件计划使用的每个数据。并非每个api主持人都会及时通知你/如果发生了变化,你甚至可能在他们做错之前就知道了。