Frage

Ich versuche, einige Funktionstests in meiner Rails-Anwendung zu schreiben, und in den application_controller.rb Ich habe diese:

before_filter :current_account
def current_account
  @current_account ||= Account.find_by_subdomain!(request.subdomians.first)
end

Beim Ausführen von Tests, request.subdomains nicht den gültigen Sub-Domains enthält suche ich nach und macht es unmöglich, alle Funktionstests ausgeführt werden.

Ist es möglich, die current_account Methode oder verspotten die request.subdomains Objekt Stummel?

War es hilfreich?

Lösung

In Ihrem Funktionstest sollten Sie in der Lage sein zu tun (mit Mokka):

@request.expects(:subdomains).returns(['www'])

Andere Tipps

Für mich (und mit Rails 2.3.4), lautet die korrekte Aussage

@controller.request.expects(:subdomains).returns(['www'])

da kann es nicht direkt an @request zugreifen.

@controller.instance_variable_set(:@request, OpenStruct.new({:subdomains => 'www'}))

Sie können alles Zugriff in Ruby:)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top