2016-10-07 2 views

ответ

1

Jest не поддерживает requirejs (модули AMD) из коробки, так что вы должны transpile ваших модулей AMD в CommonJS с scriptPreprocessor.

Кроме того, если вы используете более сложные функции requirejs, такие как правила плагинов/настраиваемых решений, вы можете столкнуться с дополнительными проблемами.

+0

Что делать, если мои модули, подлежащие тестированию, используют RequireJS? Могу ли я импортировать те же зависимости requireJS в тестовом файле Jest с помощью импорта? –

+0

@AnkitTanna Как я уже сказал, Jest не поддерживает модули AMD, поэтому вам потребуется какой-то способ разрешить AMD взаимодействовать с модулями commonJS или ES, такими как шаг транспиляции - мне не удалось найти AMD -> Babel однако, похоже, все они идут от CommonJS -> AMD. Возможно, стоит попробовать написать свой собственный, возможно, используя https://babeljs.io/docs/plugins//transform-es2015-modules-commonjs в качестве руководства. – riscarrott

+0

Спасибо @riscarrott. Я планирую отдать свой модуль AMD в CommonJS, а затем проверить код. Я не уверен, что это нужно практиковать, но это экономит время в тестовом костюме, что все имеет значение. http://skookum.com/blog/converting-a-project-from-amd-to-cjs-with-recast –

Смежные вопросы