2017-04-17 59 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