0
私は、res.body.resultに各項目の期待値を書き込むのではなく、動的にモカテストを作成しようとしています。結果配列を使用してモカテストを作成するにはどうすればよいですか?
{
"ok": true,
"result": {
"year": "2000",
"makes": [
"Acura",
"Audi",
"BMW"
]
}
}
、代わりになるごとに、これを書いている:
describe('Decode VIN', function(){
it('should return 200 response', function (done){
api.get('/makes_year?year=2000')
.set('Accept', 'application.json')
.expect(200)
.end(function(err, res) {
expect(res.body.ok).to.equal(true)
expect(res.body.result.year).to.equal("2000")
expect(res.body.result.makes).to.equal("Acura")
expect(res.body.result.makes).to.equal("Audi")
done();
})
});
});
がどのように私はこの繰り返し行うことができます私はこのようなJSONレスポンスを持っていますか?
編集:私はdescribe文の中でexpectedMakesを宣言しようとしました。簡潔にするために、これは2つのうちの1つです。
var expectedMakes = [
"Acura",
"Audi",
"BMW"
];
describe('Makes By Year', function(){
it('should return 200 response, body.ok, and an array of vehicle makes', function (done){
api.get('/makes_year?year=2000')
.set('Accept', 'application.json')
.expect(200)
.end(function(err, res) {
expect(res.body.ok).to.equal(true)
expect(res.body.result.year).to.equal("2000")
expect(res.body.result.makes).to.equal(expectedMakes)
done();
})
});
});
私はこの結果を得る:
Uncaught AssertionError: expected [ Array(37) ] to equal [ Array(37) ]
+ expected - actual
に一致する場所にあると厳密に等しいことをアサートします
それの内側と外側にある。それは失敗する、私はこれを行う必要があります別の方法はありますか? –