gpt4 book ai didi

javascript - 将函数结果与 Chai 中的 API 进行比较?

转载 作者:行者123 更新时间:2023-11-30 00:12:15 25 4
gpt4 key购买 nike

我是 JavaScript 的新手,我已经制作了一个可用的 Node 模块,但我想使用 Mocha 和 Chai 添加一些测试。

我的 Node 模块返回 TVmaze API 的结果。该模块称为 tvmaze-node,可通过 NPM 获得。

例如,下面将返回http://api.tvmaze.com/search/shows?q=girls的结果

 pullRequest: function(url, donePulledRequest) {
request(url, function(error, response, body){
if(error || response.statusCode === 404 || body.length == 2) {
donePulledRequest(error || 'No results');
}
else {
donePulledRequest(null, JSON.parse(body));
}
});
},

search: function(show, doneShow){
var url = "http://api.tvmaze.com/search/shows?q=" + show;
module.exports.pullRequest(url, doneShow)
},

我想在 Chai 中做的是确保 search 的结果与从 URL 返回的 json 相匹配。

我有 Chai 的结构,但无法从我的生活中找出逻辑。由于某种原因,我得到了错误:

Uncaught AssertionError: expected [ Array(10) ] to deeply equal '[{"score":2.096719,"show":{......the rest of the array shown at the URL above

describe('Show Search', function() {
it("Returns all results for a given search", function(done) {
tvmaze.search("Lost", function(error, response) {
if(error){
done(error);
} else {
request('http://api.tvmaze.com/search/shows?q=lost', function(error, resp, body){
expect(response).to.eql(body);
done();
})
}
});
done();
});
});

最佳答案

根据代码 donePulledRequest(null, JSON.parse(body));,您应该检查测试代码中的值,如下所示。

expect(response).to.eql(JSON.parse(body))

关于javascript - 将函数结果与 Chai 中的 API 进行比较?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35976379/

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