У меня уже установлено несколько контроллеров. Теперь я хочу начать писать тесты для них. Есть ли команда, которая автоматически генерирует файлы спецификаций? Я знаю, что rails делает это для новых ресурсов, но я не знаю, делает ли это это для существующих контроллеров/моделей.
Как создать спецификации для существующих контроллеров?
Ответ 1
rails g rspec:controller ControllerName
Когда он попросит вас переопределить существующий контроллер, введите n
.
Ответ 2
Есть два варианта. Если вам нужен пустой файл spec, вы можете попробовать:
rails g rspec:controller ControllerName
Теперь, если вам нужен специфицированный файл с начальными спецификациями для базового контроллера REST, попробуйте:
rails g rspec:scaffold ControllerName
Ответ 3
Если вы настроили rspec в application.rb:
config.generators do |g|
g.test_framework :rspec
end
тогда rails g controller things
будет работать. Не переписывайте файлы по мере их создания.
Вся спецификация выглядит, когда она сгенерирована:
require 'spec_helper'
describe ThingsController do
it "should be successful" do
get :index
response.should be_successful
end
end
Я часто создаю спецификации вручную, так как это довольно тривиально.