È possibile richiamare i vostri metodi di supporto sul subject
o @controller
nella specifica.
Sono stato alla ricerca di una soluzione a questo problema e di controllo anonimo non era quello che stavo cercando. Diciamo che dispone di un controller vivere a app/controllers/application_controller.rb
con un metodo semplice che non sia vincolato a un percorso REST:
class ApplicationController < ActionController:Base
def your_helper_method
return 'a_helpful_string'
end
end
Poi si può scrivere il test in spec/controllers/application_controller_spec.rb
come segue:
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
Mentre @controller
e subject
può essere usato qui intercambiabile, vorrei andare per subject
come il suo modo idiomatico di RSpec per ora.
fonte
2013-11-06 22:48:14
In qualche modo ho perso quel controller anonimo! Grazie! – Mirko
Esattamente quello che dovevo sapere! – Matthew
funziona ancora in Rails4? Ho avuto un problema con la 'Nessuna corrispondenza del percorso {: Controller => "anonimo",: action => "qualche azione"}' .. – chrmod