当需要.ejs文件时,将按Jest测试环境中的样子打印js

时间:2019-06-11 17:20:05

标签: javascript node.js jestjs ejs

我正在尝试测试需要.ejs文件的javascript函数,但是在运行测试时,require('file.ejs')将完全按原样返回文件,而不在内部运行任何js

实时环境没有问题,只有Jes​​t测试环境有问题。

我尝试使用不同的ejs加载器,例如('ejs-loader')并覆盖了'require'函数,但是问题没有改变。

如果我在.test.js中使用require方法,则不会解析.ejs中的js

例如: 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>

任何有关如何解决此问题的想法将不胜感激

0 个答案:

没有答案