Yeoman测试时间在任何地方,但在本地

时间:2016-04-11 13:23:07

标签: unit-testing mocha yeoman mocha-phantomjs

我有一些测试结果如下:

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.

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

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

如果您的代码中的错误没有通过测试冒泡,这似乎就会发生。检查对SELECT S.STUDENT_ID, S.STUDENT_NAME, SD.GPA, SA.ATTENDANCE FROM STUDENT S LEFT OUTER JOIN STUDENT_GPA SD ON (S.STUDENT_ID=SD.STUDENT_ID AND SD.UPDATE_FLG='Y') LEFT OUTER JOIN STUDENT_ATTENDANCE SA ON (S.STUDENT_ID=SA.STUDENT_ID AND SA.UPDATE_FLG='Y') UNION SELECT S.STUDENT_ID, S.STUDENT_NAME, SD.GPA, SA.ATTENDANCE FROM STUDENT S RIGHT OUTER JOIN STUDENT_GPA SD ON (S.STUDENT_ID=SD.STUDENT_ID AND SD.UPDATE_FLG='Y') RIGHT OUTER JOIN STUDENT_ATTENDANCE SA ON (S.STUDENT_ID=SA.STUDENT_ID AND SA.UPDATE_FLG='Y') 上下文的任何操作,尤其是。