下面的代码:index.js
var express = require('express');
var router = express.Router();
router.get('/', function(req, res, next) {
throw new Error("TESTING WHERE MY ERROR MESSAGE GOES IN MY RESPONSE...");
});
module.exports = router;
以及以下使用Jest + Supertest进行的测试:error.test.js
const app = require("../app");
const supertest = require("supertest");
describe("What is the relation between an Error object throuwn and in the corresponding response?", () => {
test("Error", async () => {
await supertest(app)
.get("/")
.then(async (res) => {
console.log(res);
expect(1).toBe(1);
});
});
});
我一直在这个res
对象中搜索我用来抛出Error
的消息。
在本例中,我假设抛出的Error
和测试中捕获的res
之间存在关系。
在哪里可以找到res
错误消息?
1条答案
按热度按时间tzxcd3kk1#
你应该有一个
errorHandler
。如果没有定义错误处理程序,简单地在后端抛出错误将导致后端停止。另一个选择是,你可以发送如果您想使用
errorHandler
方法,那么您必须定义错误处理程序,并将其添加到应用的末尾,如app.use(errorHandler)
。Express有一个很好的error handling文档