【发布时间】:2013-09-17 22:25:29
【问题描述】:
我正在开发一个 RESTful Node.js API (express+mongoose) 此 API 调用第三方 Oauth API(google、facebook 等)。
到目前为止,我一直很高兴使用 mocha+chai+request 设置自动化测试,但是我在模拟第三方 API 以测试调用它的(我的 API)路由时遇到了麻烦。 我尝试过使用 nock,但它不适用于我的用例。
要运行我的测试,我启动我的 API (npm start),然后在另一个选项卡中启动测试套件 (npm test)。测试套件使用请求通过 HTTP 测试 API。
因此,我认为 nock 在这里不起作用,因为它在“测试套件”过程中而不是在“API”过程中模拟 http。
我绝对需要模拟这个第三方调用,原因有两个: 1. 我希望能够离线运行我的测试套件,一切都在我的笔记本电脑上运行 2. 由于第三方 API 使用 Oauth,测试套件中的硬编码凭据(即使对于测试帐户)似乎不太容易。
我真的很想不要在我的测试覆盖中留下这个巨大的漏洞,所以任何建议都会非常感激!
【问题讨论】:
-
您有没有在这里提出过解决方案?我也有类似情况,想解决。令人惊讶的是,要找到关于这个话题的任何讨论是多么困难!
-
其实我确实想出了一些东西,我明天会发布。我不知道它是否是最先进的,但它可以完成这项工作
-
太棒了!感谢您的回复并期待您的解决方案。
-
抱歉,我花了一些时间才发布它。希望对你有帮助
-
不用担心,感谢您抽出宝贵时间发布此内容!
标签: node.js api testing mocking