0

我对以下结构进行了一些测试:

describe('yeoman:subyeoman', function () {
   before(function (done) {
       helpers.run(path)
           .inTmpDir(function (dir) {
               ** some file copying **
           })
           .withOptions({
               'option': options
           })
           .withArguments(argumentsJson)
           .on('ready', function (generator) {
               generator.conflicter.force = true;

               var html = "some html";
               var dir = generator.destinationPath('app');
               var file = generator.destinationPath('app/file.html');

               if (!fs.existsSync(dir)) fs.mkDir(dir);
               fs.writeFile(file, html);
           })
           .on('end', function () {
               fse.removeSync(somePath);
               done();
           });
   });

   it('.....');
});

on('ready')部分在本地和 docker 容器内部都可以工作,但在容器内部从不调用generator.run()并抛出以下错误:

Error: timeout of 20000ms exceeded. Ensure the done() callback is being called in this test.

我尝试更改超时并以异步方式执行,但输出仍然相同。

任何帮助将不胜感激 。

4

1 回答 1

0

如果您的代码中有一个没有通过测试冒泡的错误,这似乎会发生。this特别是检查对上下文 的任何操作。

于 2016-07-27T21:53:59.543 回答