createDummyGenerator()
在测试依赖于外部发电机的发电机时起作用。
test.js:
...
return helpers.run(require.resolve('../generators/app'))
.withGenerators([
[helpers.createDummyGenerator(), 'license:app'],
])
.then(() => {
assert.textEqual('true', 'true')
});
...
...
default() {
this.composeWith('license:app', { name: 'foo' });
}
...
这使得测试失败,因为它找不到用于license:app. 我的电脑里有发电机执照package.json 作为一种依赖。
test.js:
...
beforeEach(() => {
jest.mock('generator-license/app', () => {
const helpers = require('yeoman-test');
return helpers.createDummyGenerator();
});
}
...
...
default() {
this.composeWith(require.resolve('generator-license/app', { name: 'foo' }));
}
...
这根本不会模拟生成器,而是使用实际的生成器许可证代码,这会导致测试失败,因为没有提供所有提示(有些提示是由许可证生成器发出的)
我该怎么用这个
createDummyGenerator()
帮助完全删除许可证生成器?