【问题标题】:Stop Rails generating spec tests for views and helpers?停止 Rails 为视图和助手生成规范测试?
【发布时间】:2011-05-13 05:24:14
【问题描述】:

有没有办法从 application.rb 做到这一点?

【问题讨论】:

    标签: ruby-on-rails rspec


    【解决方案1】:

    编辑:顶部的简短回答

    如果您想在每次运行生成器时执行此操作,您确实可以在 application.rb 文件中对其进行自定义。将此代码放在 Application 类定义内的文件中。

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

    您也可以通过将一些选项传递给生成器命令来完成此操作。 ThisRailscast 详细介绍了这个过程,但基本思想非常简单。

    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
    

    要否定这些布尔值,只需在名称前加上“否”即可传递它们。因此,如果您想要一个没有视图规范的控制器,您可以这样称呼它:

    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
    

    【讨论】:

    • 您可以在此处阅读有关生成器的更多信息:guides.rubyonrails.org/generators.html
    • 向您致敬,先生!上面的 guides.rubyonrails.org/generators.html 链接没有解释这一点。命令行中的 --help 选项也没有。它似乎没有在哪里解释您可以仅将no- 添加到禁用它们的选项中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-08-04
    • 2011-04-02
    • 1970-01-01
    • 2011-05-18
    • 1970-01-01
    • 1970-01-01
    • 2015-04-22
    相关资源
    最近更新 更多