如何在控制台中抑制成功的 React 测试库测试中的红色 500 错误日志?

问题描述 投票:0回答:1

我有以下成功的测试,预计会出现 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');
  });

问题是当我运行所有测试时,我在控制台中看到这个红色错误日志:

有谁知道如何抑制这个看起来可怕的错误日志?谢谢!

reactjs unit-testing react-testing-library http-status-code-500 mockserver
1个回答
0
投票

在单元测试期间抑制错误日志可能很简单,只需将 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');
});

...
© www.soinside.com 2019 - 2024. All rights reserved.