Frage

ich zur Zeit mit Ausdrücken eine Hilfsmethode meines Sinatra App innerhalb von Gurke am kämpfen.

Ich habe einen Sinatra App mit einfacher Sitzungsauthentifizierung (von Cookies), und ich mag die Authentifizierung aktivieren, indem die logged_in? Hilfsmethode Ausdrücken nach meinen Gurke Szenarien. Es scheint ein Problem zu sein, mit Sinatra und Gurke über Sitzungen so dachte ich gerade Mokka mit, um das Problem zu arbeiten.

Allerdings weiß ich nicht, wie ich die Sinatra::Application Instanz innerhalb eines Given-Block-Zugriff auf die Methode Stub.

War es hilfreich?

Lösung

Sie können den richtigen Kontext erhalten, indem Sinatra::Application.class_eval mit

Edit: Siehe Antwort ursprüngliches Plakats des für die vollständige Erklärung

.

Andere Tipps

Es scheint, wie ich brauche, um direkt in einem Before do ... end-Block meinen Authentifizierungsmechanismus außer Kraft setzen

So landete ich mit einem hooks.rb in features/support/ Datei überschrieben meine logged_in? und die current_user Methode platziert werden.

Before do
  MySinatraApplicationClass.class_eval do
    helpers do
      def logged_in?
        return true
      end
      def current_user
        # This returns a certain Username usually stored 
        # in the session, returning it like
        # that prohibits different user logins, but for
        # now this is enough for me
        "Walter"
      end
    end
  end
end

Das einzige, was ich kümmern musste, ist, dass die keine andere Aktionen innerhalb der Anwendung direkt von session lesen, sondern vielmehr jene Helfer verwenden.

Leider glaube ich, auf diese Weise Sitzung basierend Sinatra-Anwendungen durch Cucumber der Handhabung schon woanders beschrieben wird, und ich dachte nur mein Problem war anders .

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