其他响应代码,然后200在柴

林新来柴。 据我所知,为了使testing工作,路线应该总是返回http代码200.是正确的? 只要我有一个路线返回其他然后200我在testing套件中出现错误(例如未捕获的错误:内部服务器错误)。

在我的路线,当传递的数据是错误的(例如validation)我想返回其他代码超过200.我想我读了一个地方,可能是好的做法是返回其他代码比200不是返回OK的资源例如vaidation错误或数据库错误)。 但是,似乎我又要回200个柴油testing工作。 我是否错过了一些东西呢?

不,它不一定是200.您需要使用callback语法,并注意它使用错误的第一个callback风格。 如果你期望有错误,那么只要错误是正确的就让你的testing通过。 例如

它('失败,如预期',function(完成){// <=传入完成callbackchai.request(' http:// localhost:8080 ').get('/').end(function(err, res){expect(res).to.have.status(400); done(); // <=呼叫完成信号callback结束});});

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