其他响应代码则在柴中200

时间:2017-04-17 16:01:37

标签: node.js chai

我是Chai的新手。 据我所知,为了使测试工作,路由应始终返回http代码200。 那是对的吗? 一旦我有一个返回200以外的路由我在测试套件中出现错误(例如Uncaught Error:Internal Server Error)。

在我的路线中,当传递数据错误时(例如验证)我想返回除200以外的其他代码。 我想我在某处读到,对于没有返回OK的资源(例如,错误或数据库错误),返回200以外的其他代码是一种好习惯。 但似乎我必须返回200才能使Chai测试工作。 我错过了什么,或者它真的需要一直是200?

1 个答案:

答案 0 :(得分:1)

不,它不必是200.您需要使用回调语法,并注意它使用错误的第一个回调样式。如果您预计会出现错误,那么只要错误正确就让测试通过。例如

它('失败,正如所料',功能(已完成){//< =通过完成回调   chai.request(' http://localhost:8080')   获得(' /')   .end(function(err,res){     期望(RES).to.have.status(400);     ()完成; //< =呼叫完成以发出回调结束信号   }); });

这是来自chai-http文档。 https://github.com/chaijs/chai-http/blob/master/README.md