我是Javascript新手,正在尝试使用Nodes的“ fs”模块以JSON格式编写一些测试数据。
文件写入应在某些Mocha测试结束时完成:
after(() => {
console.log(customer.urn);
fs.writeFileSync('testData.json', JSON.stringify(customer.urn));
});
testData.json
与测试脚本位于一个目录中,并且已经存在空白的.json文件。
console.log(...
打印出客户的ur,但没有任何内容写入数据文件-我敢肯定这很简单。
答案 0 :(得分:0)
您没有在after函数参数列表中使用done回调。
因此mocha
认为您的测试是同步的,它没有任何方法可以知道您的IO是否完成。
函数返回时,mocha会立即结束节点进程,并且IO不会发送到OS。
请尝试一下,它应该可以工作
after((done) => {
console.log(customer.urn);
fs.writeFileSync('testData.json', JSON.stringify(customer.urn));
done();
});