节点mocha/chai测试文件夹是否存在
Node mocha/chai test to see if a folder exists
我正在尝试创建特定路径的文件夹。我能够在创建文件夹之前正确检查该文件夹是否存在,但是当我 运行 创建后进行相同的检查时 returns 未定义。
var expect = require('chai').expect;
var assert = require('chai').assert;
var fs = require('fs');
var dir = './tmp';
describe('Create a folder and check if it\'s been created', function(){
it('check if folder has been created, if no folder exists, then create one: ', function(done){
if (!fs.existsSync(dir)){
fs.mkdirSync(dir);
}
done();
});
it('check to see if folder is there', function() {
if (fs.existsSync(dir)){
assert.isOk();
}else{
assert.fail();
}
done();
});
});
结果是:
1 次通过(23 毫秒)
1 失败
1) 创建文件夹并检查是否已创建检查文件夹是否存在:
AssertionError:预期未定义为真
assert.isOk()
并没有按照你的想法去做。这并非总是一闪而过的断言;相反,它会检查您传入的参数以查看它是否真实。由于您没有传递任何内容,因此值为 undefined
,因此 "expected undefined to be truthy."
你可以放弃断言;如果没有失败的断言,测试将通过,因此不需要虚拟的始终通过的断言。或者您可以将 existsSync
的结果传递给 isOk
:
it('check to see if folder is there', function() {
assert.isOk(fs.existsSync(dir));
});
我正在尝试创建特定路径的文件夹。我能够在创建文件夹之前正确检查该文件夹是否存在,但是当我 运行 创建后进行相同的检查时 returns 未定义。
var expect = require('chai').expect;
var assert = require('chai').assert;
var fs = require('fs');
var dir = './tmp';
describe('Create a folder and check if it\'s been created', function(){
it('check if folder has been created, if no folder exists, then create one: ', function(done){
if (!fs.existsSync(dir)){
fs.mkdirSync(dir);
}
done();
});
it('check to see if folder is there', function() {
if (fs.existsSync(dir)){
assert.isOk();
}else{
assert.fail();
}
done();
});
});
结果是:
1 次通过(23 毫秒) 1 失败
1) 创建文件夹并检查是否已创建检查文件夹是否存在: AssertionError:预期未定义为真
assert.isOk()
并没有按照你的想法去做。这并非总是一闪而过的断言;相反,它会检查您传入的参数以查看它是否真实。由于您没有传递任何内容,因此值为 undefined
,因此 "expected undefined to be truthy."
你可以放弃断言;如果没有失败的断言,测试将通过,因此不需要虚拟的始终通过的断言。或者您可以将 existsSync
的结果传递给 isOk
:
it('check to see if folder is there', function() {
assert.isOk(fs.existsSync(dir));
});