【发布时间】:2016-05-13 18:13:35
【问题描述】:
我有一个模块,我在其中加载了一个 mustache 模板文件。我想为此编写一个单元测试。我正在尝试使用 mocha、chai 和 rewire。
这是我的 module.js:
var winston = require('winston');
var fs = require('fs');
var config = require('./config.js');
exports.logger = new winston.Logger({
transports: [
new winston.transports.File(config.logger_config.file_transport),
new winston.transports.Console(config.logger_config.console_transport)
],
exitOnError: false
});
exports.readTemplateFile = function(templateFile, callback) {
fs.readFile(config.base_directory + templateFile + '.tpl.xml', 'utf8', function (err, data) {
if (err) {
logger.error('Could not read template ' + templateFile + ': ' + err);
}
callback(data);
});
};
在回调函数中,我使用 mustache 对模板进行处理。 对此进行测试的最佳方法是什么?
也许我必须重新连接 fs.readFile?因为执行测试时文件不存在。我猜 Winston 记录器也是一个有趣的部分,如果我在 mocha 测试中导入它,不确定它是否会被初始化。我的第一个测试显示记录器未定义。
【问题讨论】:
标签: javascript node.js unit-testing mocha.js chai