我的express应用程序使用一个路径("/")来显示一个巨大的页面,该页面是使用多个包含项构建的。为了避免混淆,我想单独测试每个ejs文件。但由于这些ejs-include无法从express应用程序中访问,因此我不知道如何执行该任务。
- index.ejs
- mainMenu.ejs
- systemsTable.ejs
- systemRow.ejs
- systemStatusIcon.ejs
- systemName.ejs
- ....index.ejs文件越复杂,我就越想测试它的各个部分。但是如何测试systemStatusIcon.ejs的结果呢?
谢谢
发布于 2020-07-01 09:29:27
在不了解您的代码的情况下,我建议您设置一个测试数据对象的配置JSON文件,每个对象包含:
进行测试的正则表达式数组
然后,您的测试代码可以迭代这些对象,并依次呈现和测试每个对象。
模板渲染示例
呈现模板的一段简单代码如下所示:
const ejs = require('ejs');
let template = `
value is: <%- value %>
`;
const renderData = {
value: 123
};
const output = ejs.render(template, renderData);
console.log(output);带输出:
> node index.js
value is: 123所需的renderData取决于您现有的模板。模板错误将作为标准JS错误抛出。
您还可以使用renderFile函数为您执行加载。
ejs.renderFile(filename, data, options, function(err, str){
// str => Rendered HTML string
});EJS文档可在https://ejs.co/上找到
https://stackoverflow.com/questions/62651144
复制相似问题