当我在 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;

否则您可以使用异步版本,但需要更改一些代码。