2017-04-17 60 views
1

林新的柴。 我的理解是,为了使测试工作,路线应该总是返回http代码200. 这是正确的吗? 只要我有一个返回其他200的路由,我会在测试套件中发现错误(例如未捕获错误:内部服务器错误)。其他响应码,然后200在柴

在我的路由中,当传递的数据是错误的(例如验证)时,我想返回其他的代码,而不是200. 我想我在某处阅读某个地方,没有返回OK(例如,vaidation错误或数据库错误)。 但是,似乎我必须返回200做柴测试工作。 我是否错过了一些东西,或者它真的需要一直在200?

回答

1

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

它( '失败,如预期',功能(完成){// < =通过在处理完毕的回调 chai.request( 'http://localhost:8080 ') 获得('/') .END(功能(err,res)expect(res).to.have.status(400); done(); // < = Call done to signal callback end }); });

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