自定义yeoman发电机的npm测试失败

时间:2014-05-27 10:51:11

标签: node.js npm mocha yeoman yeoman-generator

我已经建立了一个自定义的yeoman发电机。您可以在https://github.com/abhishekoza/generator-ratchet找到代码。

当我尝试" npm test"时,我收到以下错误

  1 passing (454ms)
  1 failing


1) ratchet generator creates expected files:
     Uncaught Error: You don't seem to have a generator with the name mocha:app installed.
You can see available generators with npm search yeoman-generator and then install them with npm install [name].
To see the 1 registered generators run yo with the `--help` option.

npm ERR! Test failed.  See above for more details.
npm ERR! not ok code 0
The command "npm test" exited with 1.

对于完整版本日志,网址为" s3.amazonaws.com/archive.travis-ci.org/jobs/26049613/log.txt"

我添加了" generator-mocha"作为package.json中的peerDependency。但是当我使用时," npm install",它没有安装,所以我在"依赖"下添加了它。 "发电机摩卡"现在安装,但我仍然遇到错误。

为了构建这个自定义生成器,我引用了https://github.com/yeoman/generator-gulp-webapp

2 个答案:

答案 0 :(得分:1)

我查看了test.js in the generator-webapp,发现他们在createGenerator内的beforeEach来电中有一位额外的位。尝试将第13行左右的test-creation.js修改为:

this.app = helpers.createGenerator('ratchet:app', [
    '../../app', [
        helpers.createDummyGenerator(),
        'mocha:app'
    ]
]);

答案 1 :(得分:1)

即使此问题已得到解决,但此问题可能还有其他原因: https://github.com/yeoman/generator-generator/issues/46

包含生成器的文件夹必须以“generator-”开头。 例如,如果您的生成器被称为my-generator,那么该文件夹应该被称为generator-my-generator。 这有点尴尬,因为在运行npm链接后,我可以通过运行“yo my-generator”来使用我的生成器,但运行npm test失败(直到我重命名该文件夹)。

希望将来能帮助别人......