Как я могу использовать импорт html-загрузчика моего веб-пакета в тестах Jest?

Я только начинаю с тестовой средой Jest, и хотя прямые модульные тесты работают нормально, у меня возникают серьезные проблемы с тестированием любого компонента, для которого в его модуле (модуль ES через babel + webpack) требуется файл HTML.

Вот пример:

import './errorHandler.scss';
import template from './errorHandler.tmpl';

class ErrorHandler {
    ...

Я загружаю файл SCSS для конкретного компонента, который я установил в Jest'spackage.json config, чтобы вернуть пустой объект, но когда Jest пытается запуститьimport template from './errorHandler.tmpl'; линия ломается, говоря:

/Users/jannis/Sites/my-app/src/scripts/errorHandler/errorHandler.tmpl.html:1
({"Object.<anonymous>":function(module,exports,require,__dirname,__filename,global,jest){<div class="overlay--top">
                                                                                         ^
    SyntaxError: Unexpected token <

        at transformAndBuildScript (node_modules/jest-runtime/build/transform.js:284:10)

Мой Jest конфиг отpackage.json как следует:

"jest": {
    "setupTestFrameworkScriptFile": "<rootDir>/test/setupFile.js",
    "moduleDirectories": ["node_modules"],
    "moduleFileExtensions": ["js", "json", "html", "scss"],
    "moduleNameMapper": {
        "^.+\\.scss$": "<rootDir>/test/styleMock.js"
    }
}

Кажется, что веб-пакетhtml-loader с Jest работает неправильно, но я не могу найти решение, как это исправить.

Кто-нибудь знает, как я могу сделать этоhtml-loader importработа в моих тестах? Они загружают мою разметку шаблона lodash, и я бы предпочел, чтобы эти временные массивные фрагменты HTML не были в моем.js файл, чтобы я мог опуститьimport template from x часть.

PS: Это не реактивный проект, просто простой веб-пакет, babel, es6.

Ответы на вопрос(3)

Ваш ответ на вопрос