2017-11-11 299 views
0

我正在尝试编写测试,以在必备条件中进行外部API调用的路由。在我正在写的测试中,我不想进行该调用,但我想使用存根来模拟调用。覆盖HapiJS单元测试的先决条件

如何覆盖我测试的先决条件?

回答

0

你试过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); 
    }); 
})() 
+0

谢谢@mykeels。其实我刚刚在几分钟前遇到了这个镜头包。我正在审阅它的文档,虽然不是太明了,但我正在利用它来模拟外部API调用。 – proton

相关问题