【发布时间】:2017-10-07 03:22:44
【问题描述】:
我有一个简单的服务器,它接受POST 请求并在请求正文超出允许大小时以413 Request entity too large 错误响应。当我使用 Jest 对其进行测试时,请求有时会返回正确的错误,但更多时候它会返回 { code: EPIPE, syscall: write } 错误。
我使用 cURL 和节点 javascript 文件测试了服务器,并且服务器按预期工作,但 Jest 测试仍然给我这个错误。我还尝试了另一个请求库,他们给出了同样的错误。
beforeAll(() => {
server.listen(testingPort);
});
afterAll(() => {
server.close();
});
describe("POST request", () => {
test("should return error 413 in respense to exceeded file size", async () => {
const fileContent = new Array(1024 * 1024 + 10).join("*");
const fileName = "post-test-file.txt";
const urlObj = new URL(fileName, host);
try {
await axios.post(urlObj.href, fileContent);
} catch (e) {
console.log(e.code, e.errno, e.syscall); // EPIPE EPIPE write
// expect(e.response.status).toBe(413);
}
});
也许你对此有任何想法?
【问题讨论】:
标签: javascript node.js jestjs