🐛 Bug Report
jest.clearAllMocks(); does not remove mock implementation within afterEach
To Reproduce
I have a file called src/layouts/index.js
// ./src/layouts/index.js
const importAll = (r) =>
r.keys().reduce(
(acc, key) => ({
...acc,
[key.replace(/^\.\/(.*).json$/, '$1')]: r(key)
}),
{}
);
module.exports = importAll(require.context('./', true, /\.json$/));
It utilizes webpack require.context so I am trying to mock with jest.mock.
I have another file... say file util.js
//./src/util.js
import layouts from '../layouts';
export const getLayout(name) {
return layouts[name];
}
in my test I'm trying to clear the mocks after each test
//./src/util.test.js
describe('my test suite', () => {
afterEach(() => {
jest.clearAllMocks();
})
test('test number one', () => {
jest.mock('./layouts', () => ({
layout1 : { a : 1 },
layout2 : { b: 2 },
}));
assert.equals(getLayout('layout1').a, 1);
assert.equals(getLayout('layout2').b, 2);
});
test('test number two', () => {
assert.equals(getLayout('layout1').a, 1);
assert.equals(getLayout('layout2').b, 2);
});
});
Expected behavior
I would expect for the first test to pass and the second test to fail... because the mock should have been cleared.
Link to repl or repo (highly encouraged)
https://repl.it/@CharlieHoover/SorrowfulBackSandboxes
🐛 Bug Report
jest.clearAllMocks(); does not remove mock implementation within
afterEachTo Reproduce
I have a file called src/layouts/index.js
It utilizes webpack
require.contextso I am trying to mock with jest.mock.I have another file... say file util.js
in my test I'm trying to clear the mocks after each test
Expected behavior
I would expect for the first test to pass and the second test to fail... because the mock should have been cleared.
Link to repl or repo (highly encouraged)
https://repl.it/@CharlieHoover/SorrowfulBackSandboxes