media-scientific - IT Blog

the backend developers blog

Rails functional Tests - GET oder POST auf anderen Controller

Vorlesen mit webReader

Beim testen seiner Controller kommt es schon mal vor, dass man eine Action eines anderen Controllers aufrufen muss.

Zum beispiel um einen Login zu simulieren kann es sein, dass der Controller gewechselt werden muss.

Dies kann Dank der Instanzvariable @controller leicht bewerkstelligt werden.

Ein Beispiel für den Test einer Login-action, die aus einem Controller-fremden Test heraus aufgerufen werden soll:

def login name="admin", password="test"
    old_controller = @controller
    @controller = AdminController.new
    post :login, :name => name, :password => password
    @controller = old_controller
  end

Im Grunde kann man sich so eine kleine Wrapper-Funktionalität bauen und leicht damit arbeiten.

Leave a Reply

You must be logged in to post a comment.