How to mock `console.error` or other `console` methods with Jest

Today a quick one I tend to always hunt into older code I authored to remember how to do it. So to serve my future self as well as benefit the community, here is how one can mock console methods with the Jest testing framework.

Let's go over an hopefully straight-forward example that mocks the console.error method:

describe('My super duper component', async () => {
  let consoleErrorSpy;

  beforeEach(() => {
      errorSpy = jest.spyOn(global.console, 'error').mockImplementation(() => {});
      // Hint: It could work without the `.mockImplementation...` part but
      // your Jest run output would be cluttered with the errors printed out.
  });

  afterEach(() => {
      errorSpy.mockRestore();
  });

  it('logs an error if the wrapper is `undefined`', () => {
    mySuperDuperComponent(/* missing `wrapper` argument */);

    expect(errorSpy).toHaveBeenCalledTimes(1); // i.e it has been called once
    expect(errorSpy).toHaveBeenCalledWith('Could not init super duper component. Wrapper not found.');
  });

  // ...
});

For the other console methods, just swap error and Error with their equivalent (e.g. warn and Warn, log and Log...).