Чай проходит тестовые случаи, даже если статус 500 - PullRequest
0 голосов
/ 31 января 2020

Я запускаю тестовые примеры для моего API, используя chai и mocha, chai http. Я возвращаю ответ 500 даже тогда, и мой тестовый пример проходит

Это мой тестовый пример

describe('/POST saveBatch', () => {
    it('it should save the Batch', (done) => {
        chai.request(app)
        .post('/batches/saveBatch')
        .set('content-type', 'application/x-www-form-urlencoded')
        .send({batch_id: 1})
        .end((err, res) => {
            expect(err).to.be.null;
           expect(res).to.have.status(200);
            done();
        });
    });
});

А это мой контроллер

batchController.saveBatch=async(req,res)=>{
    let _value=await batchService.saveBatch(req.body);

    if(_value.error)
    {

        //throw new Error(_value.data);
      res.json({data:"Error Occurred"}).status(500);
    }

    else{
        res.json({data:"Success"}).status(200);
    }

}

Я возвращаю 500 статус, но все равно он показывает мой тестовый пример для прохождения. Спасибо за помощь

1 Ответ

0 голосов
/ 31 января 2020

Вы пытались использовать console.log, чтобы увидеть, каково действительное значение "_value", возвращаемое из batchService? Потому что я уверен, что ваша функция контроллера на самом деле не вводит ваш if(_value.error), в противном случае она не будет работать на expect(res).to.have.status(200);

...