停止Rails自动生成视图和辅助器的规范测试?

46
有没有办法在application.rb文件中实现这个功能?
1个回答

81

编辑:简短回答在顶部

如果您想每次运行生成器时都这样做,确实可以在application.rb文件中自定义它。将此代码放入Application类定义内的文件中。

config.generators do |g|
  g.view_specs false
  g.helper_specs false
end

你可以通过向生成器命令传递一些选项来完成这个任务。这个 Railscast更详细地介绍了这个过程,但基本思路很简单。
Rails生成器可以使用多个选项。你可以通过运行rails g controller -h来查看控制器生成器的选项。假设你已经设置好了Rspec,如果你查看输出,你会注意到一个称为“Rspec选项”的部分。它看起来像这样:
Rspec options:
  [--controller-specs]  # Indicates when to generate controller specs
                        # Default: true
  [--view-specs]        # Indicates when to generate view specs
                        # Default: true

要否定这些布尔值,只需在名称前面加上"no"。因此,如果您想为视图创建一个没有规格的控制器,可以像这样调用它:

rails g controller Foobar index show new create --no-view-specs

如果您使用控制器生成器,您将获得具有正确视图和操作的控制器,但没有视图的规范。

如果您使用scaffold生成器,同样适用相同的情况。有一个--helper-specs选项,因此,如果您不想要视图或帮助器规范,您可以运行:

rails g scaffold Foobar name:string --no-helper-specs --no-view-specs

你可以在这里阅读更多关于生成器的信息:http://guides.rubyonrails.org/generators.html - Dan K.K.
先生,您真是太棒了!上面的链接guides.rubyonrails.org/generators.html并没有解释这一点。命令行中的--help选项也没有。似乎没有地方解释您可以仅添加“no-”来禁用选项。 - Sunil D.

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接