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 に答える