我有一个非常奇怪的行为(从我的角度来看):
当我使用 mocha 进行单元测试时,我无法编写任何文件(我可以创建文件但没有写入任何文件)。
作为一个例子,我有这段代码:
console.log('The beginning');
var fs = require('fs');
var writableStream = fs.createWriteStream("./testOuputFile.txt");
function callback(s){
console.log('callback', s);
}
writableStream.on("error", function(err) {
console.log("ERROR");
done(err);
});
writableStream.on("close", function(ex) {
console.log("CLOSED");
done();
});
writableStream.on("finish", function(ex) {
console.log("ENDED");
done();
});
writableStream.on("open", function(fd) {
console.log("OPENED:"+fd);
});
if(typeof callback === "undefined"){
callback = function(s){console.log(s);};
}
var cbCalled = false;
function done(err) {
if (!cbCalled) {
callback(err);
cbCalled = true;
}
}
writableStream.write('Something');
writableStream.end();
fs.writeFile('message.txt', 'Hello Node', function (err) {
if (err) throw err;
console.log('It\'s saved!');
});
console.log('The end');
将此代码复制到名为 run.js 的文件中并运行“node run.js”将输出:
The beginning
The end
OPENED:11
ENDED
callback undefined
CLOSED
It's saved!
我获得了两个包含一些文本的好文件:testOutputFile.txt 和 message.txt
对名为 test/test.js 的文件执行相同操作并运行“mocha”将输出:
The beginning
The end
0 tests complete (0 ms)
我获得了两个空文件(零字节):testOutputFile.txt 和 message.txt
正常吗?
有什么东西可以调整摩卡咖啡来完成这项工作吗?