我正在尝试为我的npm模块编写测试,它负责与我的后端api进行通信。这个模块将坐在一个cordova Android应用程序内,并将负责任何api调用。我所拥有的问题似乎是对摩卡的理解,但我已经在互联网上看了一眼,找不到解决方案,所以我转向群众。举个例子,我有一个像
这样的功能 test: function() {
request.get({
url: defaultHost,
headers: {
}
}, function(err, httpResponse, body) {
if(err) {
return err;
} else {
console.log(body);
return body;
}
});
}
这项工作会。我现在正试图在摩卡中为它创建测试。我得到的问题是我不知道如何从.get调用中获取返回函数到mocha测试中。 api返回json,所以我知道我将不得不做一个相同的比较,但目前我甚至无法打印结果。我认为问题在于,通过我的其他摩卡测试,我可以开始工作,他们都有一个参数,你传递的地方,因为这不。我目前的测试代码看起来像这样。
describe('#test', function() {
it('tests api reachability;', function() {
var test = new test();
});
});
如果有人可以解释之后需要什么,或者甚至只是在谷歌指出我正确的方向,那将是非常棒的。我通常都很擅长谷歌,但未能在这个方面找到方向。
答案 0 :(得分:1)
我认为nock会解决这个问题。假设您向某个资源(http://domain.com/resource.json)发送get
请求,测试将如下所示:
var nock = require('nock');
// ...
describe('#test', function() {
beforeEach(function () {
nock('http://domain.com')
.get('resource.json')
.reply(200, {
message: 'some message'
});
});
it('tests api reachability;', function() {
var test = new test();
});
});