2015-04-16 2 views
0

В рельсах 4.2.0/rspec 3.2.2/rspec-rails 3.2.1. Я пытаюсь отключить спецификации, генерируемые при создании новых моделей. Я использую структуру папок спецификации, которая отличается от соглашения о рельсах, и не хотела бы, чтобы они не удаляли/перемещали сгенерированные файлы спецификаций для каждой новой модели. Я пытался добавить конфигурацию генератора, как указано в рельсах направляющих и в What is the syntax to skip creating tests, assets & helpers when running `rails generate controller`?Невозможно отключить генераторы, генерирующие генераторы рельсов

Мой конфиг/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 

и я все еще получаю:

$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 

Даже если я явно добавляю теги:

$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 

Кто-нибудь решил это раньше?

+0

попробуйте 'bin/rails g' вместо' rails g' –

+1

Спецификации модели не являются обязательными, поэтому, если вы установите RSpec в качестве тестовой среды, эти файлы появятся. Вам нужно полностью отключить генератор (похоже, вы пытаетесь это сделать уже). – fny

+0

спасибо. это, по крайней мере, устраняет некоторые ручные скуки – mmartinson

ответ

4

Просто установите test_framework на что-то falsey, если вы хотите, чтобы отключить все генераторы:

config.generators do |g| 
    g.test_framework nil 
end 

Вы, к сожалению, не может отключить модели спецификации только из генераторов. They're not optional.

Смежные вопросы