我要測試不能(或不應該)與響應發送的驗收測試服務器錯誤(快遞),例如與摩卡和Supertest
Error: Can't set headers after they are sent.
捕獲錯誤測試Express錯誤的與錯誤處理程序和5XX代碼響應將提供有價值的反饋在這裏,但問題是頭已被髮送。
這類錯誤可能並不嚴重,很難發現,通常從日誌中計算出來。
該規範是
it('should send 200', function (done) {
request(app).get('/').expect(200, done);
});
和測試應用程序是
app.get('/', function (req, res, next) {
res.sendStatus(200);
next();
});
app.use(function (req, res) {
res.sendStatus(200);
});
什麼是app
實例,並要求測試庫(即Supertest)在類似案件快遞之間溝通的最合適的方法是什麼?
問題不限於Supertest。如果有包可以解決Supertest無法解決的問題,那麼也可以考慮它們。
怎麼樣'res.status(500).send()' – walkerrandophsmith
@WalkerRandolphSmith標頭已經由第一個res.sendStatus發送了,這將導致另一個'發送後無法設置標頭'錯誤。 – estus
啊,我想我現在明白了。 – walkerrandophsmith