Подтвердить что ты не робот

Остановить Rails, генерирующие специальные тесты для представлений и помощников?

Есть ли способ сделать это из приложения .rb?

4b9b3361

Ответ 1

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

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

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

Вы также можете выполнить это, передав некоторые параметры в команду генератора. This 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

Чтобы отменить эти логические значения, просто передайте их "нет" перед именем. Поэтому, если вы хотите иметь контроллер без каких-либо спецификаций для своего вида, вы бы назвали его следующим:

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