我想用最新版的自耕农制作一个自定义发电机,但我遇到了一些困难。我一直在挖掘各种文档和示例来源(比如webapp和角度生成器),但我仍然有一些问题。
测试发电机的工作流程是什么?如果我有一个项目是生成器本身,我是否继续创建新目录以运行yo my-generator
?
生成器框架是否已根据yo
1.0的beta进行了更改?是否有重大变化?
生成器如何使用全局yo
二进制文件注册自己?
感谢。
答案 0 :(得分:7)
这个问题已经有几个月了,但我认为现在发现它的人知道在http://yeoman.io/generators.html
中已经解释了更多的问题问题1:
可以轻松地在本地测试您的发电机。例如,如果你的发电机被称为“generator-mtv-raps”
$ cd ~/dev/generator-mtv-raps/
$ npm link
现在,如果你这样做:
$ cd ~/dev/mytest/
$ yo mtv-raps
它将构建。
此外,用mocha对发电机进行单元测试非常简单。内置了一组测试助手。您需要测试的基础知识可以在generator-webapp的测试中找到https://github.com/yeoman/generator-webapp/blob/master/test/test.js
helpers.mockPrompt
helpers.assertFiles
Number 4有点棘手,可以通过正则表达式传递预期文件数组来进行检查。如果您想了解有关测试助手的更多信息,那么源是最佳选择。 https://github.com/yeoman/generator/blob/master/lib/test/helpers.js
问题2:btford已经回答了
问题3:
生成器通过全局安装(或如上所述链接它们)并使用命名约定绑定到yo
。所有发电机都以“发电机”开始,然后是“ - ”,然后是“名称”。
因此generator-mtv-raps
通过$ yo mtv-raps
答案 1 :(得分:6)
测试生成器的工作流程是什么?
我将在接下来的几天内研究发电机角度。你可以track my progress on Github。不幸的是,由于从一个yeoman
命令过渡到yo
和bower
以及yo
,所以还没有太多示例。我想在Generator.prototype.method
上会进行一定程度的单元测试,以及涉及编写bash脚本以运行yo
,npm
,bower
和{ {1}}。
生成器框架是否已根据yo 1.0的beta进行了更改?有没有突破性变化?
根据我移植生成器角度的经验,我没有看到太多变化。有一个新的,可选的simplified API,可能很有用。
生成器如何使用全局
grunt
二进制文件注册自己?
现在的答案是它没有。您在项目目录中安装/使用生成器。由于错误的符号链接,我以某种方式使它工作,但这不是推荐的方法。