【发布时间】:2016-06-23 23:04:48
【问题描述】:
我已经编写了一个 API,现在我正在为第 3 方编写一个 SDK,以便更轻松地与我的 API 交互。
在为我的 SDK 编写测试时,我的理解是最好不要简单地调用所有 API 端点,因为:
- API 中的测试将负责确保 API 正常工作。
- 如果 SDK 测试直接调用 API,我的测试会很慢。
例如,假设我的 API 有这个端点:
/account
在我的 API 测试套件中,我实际上调用了这个端点来验证它是否返回了正确的数据。
我应该采用什么方法在我的 SDK 中对此进行测试?我应该嘲笑对/account 的请求吗?我还需要做什么才能让我的 SDK 获得良好的覆盖率?
我查看了其他 SDK 以了解他们如何处理此问题(Stripe、Algolia、AWS),但在某些情况下,它们看起来确实是在调用实际 API 的沙盒版本。
(我目前正在使用 PHPUnit,但我也会用其他语言编写 SDK。)
【问题讨论】:
标签: api unit-testing sdk mocking phpunit