Я пытаюсь написать тест мокки динамически, вместо того, чтобы писать ожидание для каждого элемента в res.body.result. У меня есть ответ JSON как это:Как написать тест mocha с массивом результатов?
{
"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();
})
});
});
Как я могу сделать это итеративно?
Редактировать: Я пробовал объявлять ожидаемые модели внутри описания описания и из. Для краткости это только одна из двух.
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
Я попытался объявить массив делает внутри описания и вне его. Он терпит неудачу, есть ли другой способ, которым я должен это делать? –