2016-04-11 11 views
0

Ich habe einige Tests mit der folgenden Struktur:Yeoman Prüfzeiten überall, aber lokal

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('.....'); 
}); 

Das on('ready') Stück macht seine Arbeit sowohl lokal als auch im Inneren des Docker Behälter, aber im Inneren der Container ruft nie generator.run() und wirft die folgende Fehlermeldung:

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

ich habe versucht, den Timeout zu ändern und es von der Asynchron-Weg, aber der Ausgang seinen immer noch das gleiche zu tun.

Jede Hilfe wird geschätzt.

Antwort

0

Dies scheint zu passieren, wenn Sie einen Fehler in Ihrem Code haben, der nicht mit Tests aufbläht. Überprüfen Sie alle Manipulationen am this Kontext besonders.

+0

Ich werde überprüfen, danke – sailens