Javascript 节点mocha/chai测试以查看文件夹是否存在
我正在尝试创建一个特定路径的文件夹。在创建文件夹之前,我能够正确地检查它是否存在,但是当我在创建文件夹之后运行相同的检查时,它返回未定义Javascript 节点mocha/chai测试以查看文件夹是否存在,javascript,node.js,mocha.js,chai,Javascript,Node.js,Mocha.js,Chai,我正在尝试创建一个特定路径的文件夹。在创建文件夹之前,我能够正确地检查它是否存在,但是当我在创建文件夹之后运行相同的检查时,它返回未定义 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', fu
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) 创建文件夹并检查是否已创建该文件夹检查文件夹是否存在:
断言错误:预期未定义为真实的不会按照您的想法执行。这并不是一个总是转瞬即逝的断言;相反,它会检查你传递的论点,看它是否真实。由于没有传入任何内容,因此该值为未定义
,因此“预期未定义为truthy”
你可以不说这个断言;如果没有失败的断言,测试将通过,因此不需要总是通过断言的伪断言。或者您可以将existsSync
的结果传递给isOk
:
it('check to see if folder is there', function() {
assert.isOk(fs.existsSync(dir));
});
不做你想做的事。这并不是一个总是转瞬即逝的断言;相反,它会检查你传递的论点,看它是否真实。由于没有传入任何内容,因此该值为未定义
,因此“预期未定义为truthy”
你可以不说这个断言;如果没有失败的断言,测试将通过,因此不需要总是通过断言的伪断言。或者您可以将existsSync
的结果传递给isOk
:
it('check to see if folder is there', function() {
assert.isOk(fs.existsSync(dir));
});