我是Chai的新手。 据我所知,为了使测试工作,路由应始终返回http代码200。 那是对的吗? 一旦我有一个返回200以外的路由我在测试套件中出现错误(例如Uncaught Error:Internal Server Error)。
在我的路线中,当传递数据错误时(例如验证)我想返回除200以外的其他代码。 我想我在某处读到,对于没有返回OK的资源(例如,错误或数据库错误),返回200以外的其他代码是一种好习惯。 但似乎我必须返回200才能使Chai测试工作。 我错过了什么,或者它真的需要一直是200?
答案 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