其他响应码则为 Chai 中的 200

Other response codes then 200 in Chai

我是 Chai 的新手。 据我了解,为了使测试正常进行,路由应始终为 return http 代码 200。 那是对的吗? 一旦我有一条 returning 200 以外的路由,我就会在测试套件中遇到错误(例如未捕获的错误:内部服务器错误)。

在我的路线中,当传递的数据错误时(例如验证)我想 return 除了 200 之外的其他代码。 我想我在某处读到,对于 return 不正常的资源(例如验证错误或数据库错误),return 除了 200 之外的其他代码可能是一个很好的做法。 但似乎我必须 return 200 才能使 Chai 测试正常工作。 我是不是遗漏了什么,或者它真的需要一直是 200?

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

it('fails, as expected', function(done) { // <= 传入 done 回调 chai.request('http://localhost:8080') 。得到('/') .end(函数(错误, res) { 期望(res)。to.have.status(400); 完毕(); // <= 调用完成以表示回调结束 }); });

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