Yeoman定制发电机

时间:2013-02-19 16:47:16

标签: yeoman

我想用最新版的自耕农制作一个自定义发电机,但我遇到了一些困难。我一直在挖掘各种文档和示例来源(比如webapp和角度生成器),但我仍然有一些问题。

  1. 测试发电机的工作流程是什么?如果我有一个项目是生成器本身,我是否继续创建新目录以运行yo my-generator

  2. 生成器框架是否已根据yo 1.0的beta进行了更改?是否有重大变化?

  3. 生成器如何使用全局yo二进制文件注册自己?

  4. 感谢。

2 个答案:

答案 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

  1. 测试是否可以在不破坏的情况下使用发电机。
  2. 使用helpers.mockPrompt
  3. 模拟提示
  4. 测试您要创建的所有文件是否都是通过helpers.assertFiles
  5. 创建的
  6. 测试您模拟的提示值是否已插入到创建的文件中。
  7. 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命令过渡到yobower以及yo,所以还没有太多示例。我想在Generator.prototype.method上会进行一定程度的单元测试,以及涉及编写bash脚本以运行yonpmbower和{ {1}}。

  

生成器框架是否已根据yo 1.0的beta进行了更改?有没有突破性变化?

根据我移植生成器角度的经验,我没有看到太多变化。有一个新的,可选的simplified API,可能很有用。

  

生成器如何使用全局grunt二进制文件注册自己?

现在的答案是它没有。您在项目目录中安装/使用生成器。由于错误的符号链接,我以某种方式使它工作,但这不是推荐的方法。