当我在 Mocha 框架中调用辅助函数时,它 returns 在我的 test.js 中调用时未定义
When I call helper function in Mocha framework, it returns Undefined when called in my test.js
我有我的 helper.js 文件,我在其中定义了一个函数来读取目录中的文件名:
module.exports.getfilenames= function(dirPath)
{
console.log(dirPath);
let files= fs.readdir(dirPath, function (err, files) {
if (err)
console.log(err);
else {
console.log("\nCurrent directory filenames:");
files.forEach(file => {
console.log(file);
})
return files;
}
})
};
In test.js
I am calling helper function as:
describe('FILES', function()
{
files=helper.getfilenames(dirPath);//dirPath is a value of path of directory
it('GET FILES', function(done) {
console.log("reading files:"+ files);
done();
})
})
输出:
reading files: Undefined
请建议如何解析 test.js 中的文件对象?
fs.readdir
是异步函数,需要使用同步版本readdirSync
:
let files = fs.readdirSync(dirPath);
files.forEach(file => {
console.log(file);
})
return files;
否则您可以使用异步版本,但需要更改一些代码。
我有我的 helper.js 文件,我在其中定义了一个函数来读取目录中的文件名:
module.exports.getfilenames= function(dirPath)
{
console.log(dirPath);
let files= fs.readdir(dirPath, function (err, files) {
if (err)
console.log(err);
else {
console.log("\nCurrent directory filenames:");
files.forEach(file => {
console.log(file);
})
return files;
}
})
};
In test.js
I am calling helper function as:
describe('FILES', function()
{
files=helper.getfilenames(dirPath);//dirPath is a value of path of directory
it('GET FILES', function(done) {
console.log("reading files:"+ files);
done();
})
})
输出:
reading files: Undefined
请建议如何解析 test.js 中的文件对象?
fs.readdir
是异步函数,需要使用同步版本readdirSync
:
let files = fs.readdirSync(dirPath);
files.forEach(file => {
console.log(file);
})
return files;
否则您可以使用异步版本,但需要更改一些代码。