gpt4 book ai didi

node.js - 使用 mocha.js 在 node.js 中测试外部 api 调用

转载 作者:行者123 更新时间:2023-11-28 20:11:36 28 4
gpt4 key购买 nike

我正在尝试为我的 npm 模块编写测试,它负责与我的后端 api 进行通信。该模块将位于 cordova android 应用程序中,并将处理任何 api 调用。我遇到的问题似乎是对 mocha 的理解,但我在互联网上仔细看了看,找不到解决方案,所以我求助于大众。例如,我有一个类似的功能

  test: function() {

request.get({
url: defaultHost,
headers: {
}
}, function(err, httpResponse, body) {

if(err) {
return err;
} else {
console.log(body);
return body;
}
});
}

这个作品会。我现在正在尝试在 mocha 中为它创建测试。我遇到的问题是我不知道如何从 .get 调用 mocha 测试中获取返回函数。 api 返回 json,所以我知道我将不得不进行相等比较,但目前我什至无法打印结果。我认为问题在于我可以开始工作的其他 mocha 测试,它们都有一个论点,即你在没有传递的地方传递。我当前的测试代码如下所示。

describe('#test', function() {
it('tests api reachability;', function() {
var test = new test();
});
});

如果有人可以解释之后需要什么,甚至只是在谷歌上为我指明正确的方向,那就太棒了。我通常很擅长谷歌,但没能找到这方面的方向。

最佳答案

我认为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();
});
});

关于node.js - 使用 mocha.js 在 node.js 中测试外部 api 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30000395/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com