You need to store your mocked component in a variable with a name prefixed by “mock”.
This solution is based on the Note at the end of the error message I was getting.
Note: This is a precaution to guard against uninitialized mock
variables. If it is ensured that the mock is required lazily, variable
names prefixed withmock
are permitted.
import {shallow} from 'enzyme';
import React from 'react';
import Vocabulary from "../../../src/components/Vocabulary ";
import {VocabularyEntry} from '../../../src/model/VocabularyEntry'
const mockVocabulary = () => new VocabularyEntry("a", "a1");
jest.mock('../../../src/services/vocabularyService', () => ({
default: mockVocabulary
}));
describe("Vocabulary tests", () => {
test("renders the vocabulary", () => {
let $component = shallow(<Vocabulary/>);
// expect something
});