似乎无法禁用rails生成器生成规范

mma*_*son 2 ruby rspec ruby-on-rails ruby-on-rails-4 rspec3

在rails 4.2.0/rspec 3.2.2/rspec-rails 3.2.1中.我正在尝试禁用生成新模型时生成的规范.我正在使用与rails约定不同的spec文件夹结构,并且不想为每个新模型删除/移动生成的spec文件.我尝试添加rails指南中提到的生成器配置,以及在运行`rails generate controller`时跳过创建测试,资产和帮助程序的语法是什么?

我的config/application.rb包含这个:

config.generators do |g|
   g.test_framework :rspec
   g.model_specs false
   g.view_specs false
   g.helper_specs false
   g.controller_specs false
   g.model_spec false
   g.helper_specs false
   g.request_specs false
   g.feature_specs false
 end
Run Code Online (Sandbox Code Playgroud)

而且我还在:

$rails g model category
  invoke  active_record
  create    db/migrate/20150416174523_create_categories.rb
  create    app/models/category.rb
  invoke    rspec
  create      spec/models/category_spec.rb
  invoke      factory_girl
  create        spec/factories/categories.rb
Run Code Online (Sandbox Code Playgroud)

即使我明确添加标签:

 $rails g model category --no-model-specs
  invoke  active_record
  create    db/migrate/20150416174908_create_categories.rb
  create    app/models/category.rb
  invoke    rspec
  create      spec/models/category_spec.rb
  invoke      factory_girl
  create        spec/factories/categories.rb
Run Code Online (Sandbox Code Playgroud)

有人解决过这个吗?

fny*_*fny 7

test_framework如果要禁用所有生成器,只需设置为falsey:

config.generators do |g|
  g.test_framework nil
end
Run Code Online (Sandbox Code Playgroud)

遗憾的是,您无法单独从生成器中禁用模型规范.它们不是可选的.