私は口ひげテンプレートファイルをロードするモジュールを持っています。私はこのための単体テストを書いています。私はモカ、チャイを使用して再配線しようとしています。私はテンプレートを使用して何かをするために口ひげを使用して、コールバック関数でnode.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);
});
};
:
は、ここに私のmodule.jsです。 これをテストする最良の方法は何ですか?
多分私はfs.readFileを再配線する必要がありますか?テストが実行されるときにファイルがそこに存在しないため。 Winstonのロガーは、私がモカのテストでこれをインポートすると初期化されるかどうかわからない興味深い部分です。私の最初のテストは、ロガーが未定義であることを示しています。