我对以下结构进行了一些测试:
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.
我尝试更改超时并以异步方式执行,但输出仍然相同。
任何帮助将不胜感激 。