0
この私の機能は、ライフスタイル矢筈、モカ、捕捉されないAssertionErrorがテスト:
var url="http://blah/get/[type]/[id]";
function lifeStyle(req,res){
var dataEnter={
'id':1797,
'type':'lifestyle'
}
var p = promiseStyle(dataEnter);
p.then(function(data) {
res.send(data);
}).catch(function(err) {
console.log(err);
})
}
function promiseStyle(dataEnter){
var urlData = url.replace("[type]",dataEnter.type).replace("[id]",dataEnter.id);
var prom=new Promise (function(resolve,reject){
http.get(urlData,function(res) {
var data = "";
res.setEncoding('utf8');
res.on("data", function(chunk) {
data += chunk;
})
res.on("end", function() {
resolve(JSON.parse(data));
});
res.on("error", function(error) {
console.log("Got error: " + error.message);
reject(error);
});
});
})
return prom;
}
exports.lifeStyle=lifeStyle;
exports.lifeStyleId=lifeStyleId;
と呼ばれ、これは私がそれにモカとノックのテストを使用する機能のための私のテストファイルですが、そのそのres.body inspiteofれる渡していません予想されるオブジェクト
describe("function lifeStyle",function(){
it("should response is equal expected",function(done){
var scope=nock('http://blah/get')
.get('/lifestyle/1797')
.reply(200,expectedReply)
request(server).get('/lifestyle')
.end(function(err, res) {
if(err){
console.log(err);
done(err);
}else{
console.log("res.body: ", res.body,res.status);
console.log("expectedReply ", expectedReply);
expect(res.status).to.equal(200);
expect(res.body).to.equal(expectedReply);
scope.done();
done();
}
});
});
});
に等しい私は、このエラーfunctioを作るための方法を
function lifeStyle
res.body: { location: { id: 1797, forecast: { step: [Object] }, name: 'city' } } 200
expectedReply { location: { id: 1797, forecast: { step: [Object] }, name: 'city' } }
1) should response is equal expected
0 passing (63ms)
1 failing
1) function lifeStyle should response is equal expected:
Uncaught AssertionError: expected { Object (location) } to equal { Object (location) }
+ expected - actual
at Test.<anonymous> (specs/lifeStyleSpec.js:84:37)
at Test.assert (node_modules/supertest/lib/test.js:179:6)
at Server.assert (node_modules/supertest/lib/test.js:131:12)
at emitCloseNT (net.js:1524:8)
を得ましたnは通過していますか?
ようdeep.equal(オブジェクトの各キーの値)の要素または要素のデータのために等しいですか? – mary
は、単に「それは横断する」ことを意味し、オブジェクトにはレイヤーがあるため、等価性を判断するために横断する必要があります。キーと値のペアをチェックします。 – LostJon