Testing 文件生成测试

Testing 文件生成测试,testing,promise,mocha.js,chai,Testing,Promise,Mocha.js,Chai,我正在为文件生成模块编写一个测试套件。比如说, 调用generator('test')将在名为test的特定目录中创建一个文件。下面是我如何设置mocha/chai测试的 let chai = require('chai'); let expect = chai.expect; chai.use(require('chai-fs')); let Promise = require('bluebird'); let rm = require('shelljs').rm; let generato

我正在为文件生成模块编写一个测试套件。比如说,

调用
generator('test')
将在名为
test
的特定目录中创建一个文件。下面是我如何设置mocha/chai测试的

let chai = require('chai');
let expect = chai.expect;
chai.use(require('chai-fs'));
let Promise = require('bluebird');
let rm = require('shelljs').rm;

let generator = Promise.promisify(require('../../commands/generator.js'));


describe('Generator', () => {
  afterEach(() => {
    rm('-rf', 'frontend');
  });

  it('should generate a file', () => {
    Promise.resolve(generator('test', 'test', [])).then(() => {
      expect('src/test.js').to.be.a.file();
    });
  });
});
我正在使用
shelljs
在每次测试后删除该文件。然而,我遇到了一个错误

1) 发电机“每个”挂钩后:

未捕获错误:EBADF:错误的文件描述符,写入 错误(本机)

我认为这是因为
rm
是一个异步函数,但我不确定如何解决这个问题

生成器有多个单独的测试,我想在每次测试后删除生成的文件。有更好的方法吗