Я пытаюсь протестировать функции javascript, которые требуют файлы .ejs, но при запуске тестов require('file.ejs')
возвращает файл полностью, как есть, без запуска js внутри
Нет проблем с живой средой и только с тестовой средой Jest.
Я пытался использовать разные загрузчики ejs, такие как ('ejs-loader') и переопределять функцию 'require', но проблема не меняется.
Если я использую метод require
внутри моего .test.js, js внутри .ejs не анализируется
Например:
require('file.ejs')
<%
var data = {importantData: 'datadata'}
%>
<div>
<%= require('anotherFile.ejs')(data) %>
</div>
вернется:
file: function (obj) {
obj || (obj = {});
var __t, __p = '', __j = Array.prototype.join;
function print() { __p += __j.call(arguments, '') }
with (obj) {
var data = {importantData: 'datadata'}
;
__p += '\n<div>\n ' +
((__t = ( require('anotherFile.ejs')(data) )) == null ? '' : __t) +
'\n</div>\n';
}
return __p
}
Ожидаемый результат будет:
<div>
<div class="another-file"></div>
</div>
Любые идеи о том, как это можно решить, будут оценены