首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用createDummyGenerator()函数?

如何使用createDummyGenerator()函数?
EN

Stack Overflow用户
提问于 2018-08-14 05:09:28
回答 1查看 52关注 0票数 0

在测试依赖于外部生成器的生成器时,我无法理解如何使用createDummyGenerator()函数。

我试过了:

test.js:

代码语言:javascript
复制
...
return helpers.run(require.resolve('../generators/app'))
  .withGenerators([
    [helpers.createDummyGenerator(), 'license:app'],
  ])
  .then(() => {
    assert.textEqual('true', 'true')
  });
...

index.js:

代码语言:javascript
复制
...
default() {
  this.composeWith('license:app', { name: 'foo' });
}
...

这会导致测试失败,因为它找不到license:app的生成器。我的package.json中有生成器许可证作为依赖项。

我还尝试了以下几种方法:

test.js:

代码语言:javascript
复制
...
beforeEach(() => {
  jest.mock('generator-license/app', () => {
    const helpers = require('yeoman-test');
    return helpers.createDummyGenerator();
  });
}
...

index.js:

代码语言:javascript
复制
...
default() {
  this.composeWith(require.resolve('generator-license/app', { name: 'foo' }));
}
...

这根本不模拟生成器,它使用实际的生成器-许可证代码,这会导致测试失败,因为没有提供所有提示(其中一些是由许可证生成器询问的)

我应该如何使用createDummyGenerator()帮助器来完全清除许可证生成器?

EN

回答 1

Stack Overflow用户

发布于 2018-08-14 05:57:36

我觉得自己像个笨蛋..。我在另一个没有模拟模块的测试中有一个拼写错误,这就是导致测试套件失败的原因……不要紧,这里没什么可看的:)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51830589

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档