我正在研究HTTP模拟库,并且正在编写一个测试来断言我的库没有 not 截取对特定URL的请求。我正在使用Jest。
这是测试:
test("it can passthrough individual paths", async () => {
server.passthrough("/addresses");
try {
await fetch("/addresses");
} catch (e) {
expect(1).toEqual(1);
}
});
测试通过,但这是我的输出:
我认为这是jsdom由于未处理的网络请求而编写了错误。但就我而言,这是预期的。
如何隐藏或忽略此控制台消息?当我在以前的QUnit设置中的浏览器中运行这些测试时,一旦我使用catch
处理该错误,就不会在屏幕上打印任何额外的日志记录了。希望在这里有类似的东西,而无需我去修补fetch
或console
。
答案 0 :(得分:0)
这似乎是jsdom的virtual console(它将与代码流无关地报告所有请求错误(以及未被捕获时的脚本错误),就像浏览器一样)。您可以相对轻松地抑制输出:
jest.config.js
const { VirtualConsole } = require('jsdom');
const virtualConsole = new VirtualConsole();
// default virtualConsole has sendTo(console) defined
module.exports = {
"testEnvironmentOptions": { virtualConsole }
}