强制npmtesting来创build新的\新的input副本
test/ ├── TestOne.js └── TestTwo.js
说, TestOne.js
是:
这个testing用例从InputOne.json
文件中读取, InputOne.json
已有3条logging的对象添加一条logging。
describe('Add Items', function () { it('Should add items', function () { var input = require('./data/InputOne'); var obj = new Department(); var result = obj.AddDept(input); result.should.have.length(4); }); });
说, TestTwo.js
是:
这个testing用例从文件InputOne.json
读取并计算元素的数量
describe('Count Items', function () { it('Should count items length', function () { var input = require('./data/InputOne'); var obj = new Department(); var result = obj.CountDept(input); result.should.have.length(3); }); });
问题:
这两个testing用例都使用相同的文件作为input。 如果我使用摩卡运行testing用例,则testing用例都会通过
mocha TestOne
//通行证
mocha TestTwo
//通行证
如果我说npm test
(运行所有的testing用例),我会得到错误,因为TestOne文件中的testing用例已经修改了input文件。 如何让testing用例不要cachinginput文件(或强制testing用例创build自己的input文件副本)
为确保文件始终以磁盘当前forms加载,请使用fs
加载它:
var fs = require('fs'); var input = fs.readFileSync('./data/InputOne'); input = JSON.parse(input);
http://nodejs.org/api/fs.html#fs_fs_readfilesync_filename_options