比较function结果与API中的柴?

我对JavaScript非常陌生,我已经创build了一个Node模块,但是我想用Mocha和Chai来添加一些testing。

我的节点模块返回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。

我有柴的结构,但不能从我的生活中找出逻辑。 出于某种原因,我得到的错误:

Uncaught AssertionError:expected [Array(10)] to deep equal'[{“score”:2.096719,“show”:{…… 显示在上面URL的数组的其余部分

 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)); ,你应该检查下面的testing代码中的值。

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