- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我正在尝试测试我的生成器,它使用 composeWith()
,依赖于子生成器 generator-express :
this.composeWith(require.resolve('generator-express/app'), {dirname: this.props.app_name, createDirectory: 'n'});
这是我使用模拟虚拟生成器进行的测试的摘录:
var deps = [
[helpers.createDummyGenerator(), require.resolve('generator-express/app')]
];
describe('generator-cesium/app Test', () => {
beforeEach(() => {
return helpers.run(path.join(__dirname, '../generators/app'))
.inDir(path.join(__dirname, 'tmp'))
.withPrompts({
viewerContext: '/', // eslint-disable-line camelcase
appName: 'app' // eslint-disable-line camelcase
})
.withGenerators(deps)
});
...
但是,我不断收到以下错误:
Error [ERR_UNHANDLED_ERROR]: Unhandled error. (TypeError: Cannot read property 'match' of undefined)
at Immediate.setImmediate (node_modules/generator-express/node_modules/yeoman-generator/lib/index.js:406:18)
这个错误表明子生成器仍在执行,让我相信模拟实际上没有工作?
最佳答案
我认为 deps 数组只适用于使用名称别名而不是路径名的遗留样式生成器。
使用 require.resolve()
,我认为模拟生成器的最简单方法是使用像 jest.mock
、proxyquire
这样的工具> 或 mock
。
例如:
jest.mock('../generators/app', () => {
const helpers = require('yeoman-test');
helpers.createDummyGenerator();
});
关于javascript - composeWith 子生成器没有按预期进行模拟?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54839685/
我正在尝试测试我的生成器,它使用 composeWith(),依赖于子生成器 generator-express : this.composeWith(require.resolve('generat
我正在尝试测试生成器组合场景。在我的生成器中,如果某个提示返回 true,我会调用一个子生成器 if(this.bar){ this.composeWith('foo:bar', {}); }
我正在尝试使用composeWith来调用同一生成器包中的子生成器。但由于某种原因,仅调用被调用生成器的构造函数。 我的生成器包 generator-test 看起来像这样: package.json
我有一个使用子生成器 (GenB) 的自耕农生成器 (GenA)。 GenA 将创建一个 public/我的应用程序结构中的文件夹,我希望 GenB 从该文件夹运行并将其所有文件放在 /public
背景 我正在为 Angular SPA(单页应用程序)创建脚手架生成器。它将依赖于标准角度生成器('yo angular')设置的环境,并且还依赖于标准角度子生成器来生成应用程序所需的一些额外服务和
我是一名优秀的程序员,十分优秀!