오이에 시나트라 도우미를 스터 링
문제
나는 현재 내 도우미 방법을 스터브하는 데 어려움을 겪고 있습니다. 시나트라 내부에서 앱 오이.
나는있다 시나트라 간단한 세션 인증 (쿠키에 의해)이있는 앱과 나는 logged_in?
내 도우미 방법 오이 시나리오. 세션과 관련하여 Sinatra와 Cucumber에 문제가있는 것 같습니다. 그래서 나는 단지 문제를 해결하기 위해 Mocha를 사용하는 것에 대해 생각했습니다.
그러나 나는 내가 어떻게 액세스 할 수 있는지 모른다 Sinatra::Application
a 내에서 인스턴스 Given
-메소드를 스텁하려면 블록.
해결책
사용하여 올바른 컨텍스트를 얻을 수 있습니다 Sinatra::Application.class_eval
편집 : 전체 설명은 원래 포스터의 답변을 참조하십시오.
다른 팁
내 인증 메커니즘을 직접 재정의 해야하는 것 같습니다. Before do ... end
-차단하다
그래서 나는 끝났다 hooks.rb
정착하다 features/support/
내 덮어 쓰는 파일 logged_in?
그리고 current_user
방법.
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
내가 돌봐야 할 유일한 것은 응용 프로그램 내의 다른 조치가 직접 읽는 것입니다. session
오히려 그 조력자를 사용하십시오.
안타깝게 내 문제는 달랐습니다.
제휴하지 않습니다 StackOverflow