ruby on rails 3 - rails - ¿Cómo genero una especificación de controlador usando rspec?
rails test methods (2)
Si está utilizando Rails 3 + rspec e instaló rspec ( rails g rspec:install
), debería generar especificaciones de controlador para cada controlador que genere (y otros objetos).
Si necesitas crear uno a mano. Simplemente cree un nuevo new_controller_name_spec.rb
en su spec/controllers
.
require ''rails_helper''
describe NewControllerName do
# Test!
end
También puede intentar volver a generar el archivo del controlador, diga No cuando le pregunte si desea sobrescribir el controlador existente y, con suerte, volverá a generar el rspec para ese controlador nuevamente.
Estoy integrando devise_invitable en mi aplicación y tuve que escribir un controlador personalizado, InvitationsController, para anular algunos métodos en la gema. Ahora, quiero escribir pruebas para cubrir lo que he hecho, pero no puedo averiguar cómo generar una especificación para el nuevo controlador. Cualquier ayuda sería muy apreciada.
¡Gracias!
la manera rspec es
rails g rspec:controller passwords
da
create spec/controllers/passwords_controller_spec.rb
--Actualizar
Puede configurar su aplicación para generar rspec cuando se crea un modelo o controlador. Añadir a config / application.rb
# don''t generate RSpec tests for views and helpers.
config.generators do |g|
g.test_framework :rspec, fixture: true
g.fixture_replacement :factory_girl, dir: ''spec/factories''
g.view_specs false
g.helper_specs false
end
$rails g model category
invoke mongoid
create app/models/category.rb
invoke rspec
create spec/models/category_spec.rb
invoke factory_girl
create spec/factories/categories.rb
$rails g controller categories
create app/controllers/categories_controller.rb
invoke haml
create app/views/categories
invoke rspec
create spec/controllers/categories_controller_spec.rb
invoke helper
create app/helpers/categories_helper.rb
invoke rspec
invoke assets
invoke coffee
create app/assets/javascripts/categories.js.coffee
invoke scss
create app/assets/stylesheets/categories.css.scss