【发布时间】:2018-04-24 11:42:55
【问题描述】:
我正在尝试为在先决条件中进行外部 API 调用的路由编写测试。在我正在编写的测试中,我不希望进行该调用,但我想使用存根来模拟调用。
如何覆盖测试中的先决条件?
【问题讨论】:
标签: unit-testing mocha.js hapijs
我正在尝试为在先决条件中进行外部 API 调用的路由编写测试。在我正在编写的测试中,我不希望进行该调用,但我想使用存根来模拟调用。
如何覆盖测试中的先决条件?
【问题讨论】:
标签: unit-testing mocha.js hapijs
你试过Shot吗?我也没有,但它会将虚假的 HTTP 请求/响应注入到节点 HTTP 服务器中,用于模拟服务器逻辑、编写测试或调试。
在您的测试运行之前,您可以模拟您希望发出的请求,并指定预期的结果。
const Http = require('http');
const Shot = require('shot');
(function () {
const dispatch = function (req, res) {
const reply = 'Hello World';
res.writeHead(200, {
'Content-Type': 'text/plain',
'Content-Length': reply.length
});
res.end(reply);
};
const server = Http.createServer(dispatch);
Shot.inject(dispatch, { method: 'get', url: '/api/hello' }, (res) => {
console.log(res.payload);
});
})()
【讨论】: