ruby-on-rails - databasecleaner - ruby on rails selenium
¿Cómo probar el método ApplicationController definido también como un método auxiliar? (2)
Puede invocar sus métodos de ayuda sobre el subject
o @controller
en la especificación.
He estado buscando una solución a este problema y el controlador anónimo no era lo que estaba buscando. Digamos que tiene un controlador que vive en app/controllers/application_controller.rb
con un método simple que no está vinculado a una ruta REST:
class ApplicationController < ActionController:Base
def your_helper_method
return ''a_helpful_string''
end
end
Luego puede escribir su prueba en spec/controllers/application_controller_spec.rb
siguiente manera:
require ''spec_helper''
describe ApplicationController do
describe "#your_helper_method" do
it "returns a helpful string" do
expect(subject.your_helper_method).to eq("a_helpful_string")
end
end
end
Si bien @controller
y subject
se pueden usar aquí de forma intercambiable, me gustaría ir por subject
ya que es la forma idiomática de RSpec por ahora.
En mi ApplicationController tengo un método definido como un método auxiliar:
helper_method :some_method_here
- ¿Cómo pruebo ApplicationController en RSpec en absoluto?
- ¿Cómo puedo incluir / llamar a este método de ayuda cuando se prueban mis puntos de vista / ayuda?
Estoy usando Rails3 con RSpec2
Puede usar un controlador anónimo para probar su ApplicationController, como se describe en la documentación de RSpec. También hay una sección sobre ayudantes de pruebas .