Как я могу убедиться, что Rails не генерирует тесты спецификаций для представлений и помощников? - PullRequest
42 голосов
/ 21 ноября 2010

Есть ли способ сделать это из application.rb?

1 Ответ

76 голосов
/ 21 ноября 2010

изменить: краткий ответ сверху

Если вы хотите сделать это для каждый раз, когда вы запускаете генераторы, вы действительно настраиваете его в своем файле application.rb. Поместите этот код в файл внутри определения класса Application.

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

Вы также можете сделать это, передав некоторые параметры в команду генератора. Этот Railscast описывает процесс более подробно, но основная идея довольно проста.

Рельсовые генераторы могут иметь несколько вариантов. Вы можете увидеть параметры генератора контроллера, запустив 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...