2016-07-28 12 views
5

Ich erstellte einige öffentliche Methode in Controller, die etwas Arbeit.Schienen - Rspec - Stub Parameter

Ich möchte diese Methode mit RSpec testen, aber ich weiß nicht, wie ich Params stub. Wie soll ich das machen?

+1

Dies ist eine Aussage, keine Frage. – mudasobwa

+1

Sie haben Recht, ich habe die Frage hinzugefügt. – mike927

Antwort

7

Wenn dies eine Controller-Spezifikation ist, sollten Sie in der Lage sein, so etwas zu tun:

allow(controller).to receive(:params).and_return({controller: 'a value'}) 

Alternativ die params[:controller] Anweisung zu einem separaten Verfahren und Stub bewegen, dass in Ihrem spec.

+0

Große Antwort. Mein Problem war, dass ich 'concribed_class' anstelle von' controller' verwendet habe und es den Fehler verursacht hat. Vielen Dank. – mike927

+0

Was ist mit starken Params Testing? – Pachonk