tests test run rails matchers how ruby-on-rails rspec rspec-rails

ruby on rails - test - Método de auxiliar auxiliar RSpec en la especificación del controlador



rspec rails 5 (1)

Puede insertarlo desde la especificación del controlador:

controller.stub!(:signed_in?).and_return(true) # emulate signed in user controller.stub!(:signed_in?).and_return(false) # emulate unsigned user

El ''controlador'' del objeto está predefinido en las especificaciones del controlador.

ACTUALIZAR:

Con la sintaxis de RSpec 3:

allow(controller).to receive(:signed_in?).and_return(true) allow(controller).to receive(:signed_in?).and_return(false)

Gracias a @jakeonrails por recordarlo.

Encontré preguntas similares pero, sorprendentemente, ninguna, que he encontrado, da una respuesta simple ...

Intentando insertar un método de ayuda en mi especificación de controlador; no estoy seguro de qué objeto necesitaría duplicarse?

El controlador llama a este método:

#app/helpers/sessions_helper.rb def signed_in? current_user.present? end

Me gustaría ponerlo en especificación para devolver verdadero / falso.