react-hooks-testing-library version: 5.0.0
react-test-renderer version: not installed
react version: 17.0.1
node version: 17.0.1
npm (or yarn) version: yarn@1.22.0
Relevant code or config:
const { renderHook } = require("@testing-library/react-hooks/dom/pure");
let consoleError;
beforeEach(() => {
consoleError = console.error;
});
afterEach(() => {
if (console.error !== consoleError) {
throw new Error("Did not cleanup console.error");
}
});
test("pure", () => {
function useHook() {
return useState(false);
}
const { result } = renderHook(() => useHook(), {});
});
What you did:
Use @testing-library/dom/pure in karma-mocha though the problem happens in arbitrary testing frameworks I suspect
What happened:
console.error was not cleaned up
Reproduction:
https://github.com/eps1lon/testing-library-react-hooks-impure
Problem description:
We check for mistakes in afterEach if a test was not properly cleaned up. One of those checks looks at console.error.
Suggested solution:
renderHook probably has some global side-effects. These should be documented by explaining why they exists and how to disable them or work around them.
react-hooks-testing-libraryversion: 5.0.0react-test-rendererversion: not installedreactversion: 17.0.1nodeversion: 17.0.1npm(oryarn) version:yarn@1.22.0Relevant code or config:
What you did:
Use
@testing-library/dom/pureinkarma-mochathough the problem happens in arbitrary testing frameworks I suspectWhat happened:
console.errorwas not cleaned upReproduction:
https://github.com/eps1lon/testing-library-react-hooks-impure
Problem description:
We check for mistakes in
afterEachif a test was not properly cleaned up. One of those checks looks atconsole.error.Suggested solution:
renderHookprobably has some global side-effects. These should be documented by explaining why they exists and how to disable them or work around them.