В настоящее время я пытаюсь получить макет конструктора. Как написано в документации :
Чтобы смоделировать функцию конструктора, фабрика модулей должна вернуть функцию конструктора. Другими словами, фабрика модулей должна быть функцией, которая возвращает функцию - функцию более высокого порядка (HOF).
mockDataCompiler
определено выше и является основным макетом для тестов.
Модуль макета (класс ES6) записывается следующим образом:
jest.mock('@/path/to/MyClass', () => {
return function (obj: object) {
return { compile: mockDataCompiler, setParameters: () => null, ...obj };
};
});
и создается в основном классе следующим образом:
private myClass: MyClass = new MyClass(params);
Это приводит к следующим ошибкам в тест:
TypeError: Cannot read property 'setParameters' of undefined
→ так что макет не создается [Vue warn]: Error in data(): "TypeError: _MyClass.MyClass is not a constructor"
→ нет конструктора