我有以下成功的测试,预计会出现 500 错误:
it('shows the error state', async () => {
server.use(
rest.get(get(), async (req, res, ctx) => {
return res(ctx.status(500), ctx.json(buildEeRestErrorResponse('user', '500')));
})
);
renderForTests(<Page />);
const welcomeHeading = await screen.findByRole('heading', { level: 1 });
// This test passes
expect(welcomeHeading.textContent).toEqual('Welcome');
});
问题是当我运行所有测试时,我在控制台中看到这个红色错误日志:
有谁知道如何抑制这个看起来可怕的错误日志?谢谢!
在单元测试期间抑制错误日志可能很简单,只需将 jest-mock-console 添加到项目的开发依赖项中即可。
npm install --save-dev jest-mock-console
用法示例:
import mockConsole from 'jest-mock-console';
let restoreConsole;
beforeEach(() => {
restoreConsole = mockConsole();
});
afterEach(() => {
restoreConsole();
});
...
it('shows the error state', async () => {
server.use(
rest.get(get(), async (req, res, ctx) => {
return res(ctx.status(500), ctx.json(buildEeRestErrorResponse('user', '500')));
})
);
renderForTests(<Page />);
const welcomeHeading = await screen.findByRole('heading', { level: 1 });
// This test passes
expect(welcomeHeading.textContent).toEqual('Welcome');
});
...