2012-03-06 2 views
3

현재 ScalaTest 프레임 워크와 ScalatraSuite 클래스를 사용하여 여러 Scalatra 테스트를 작성 중입니다.ScalatraTest-ScalaTest에서 세션 값 받기

test("when i try to go to the base url it shold redirect me "){ 
    get("/") { 
     status should be(302) 
    } 
    } 

다음 단계에서는 일부 세션 값의 존재 여부를 확인해야하지만이 방법은 확실하지 않습니다. 누구든지 조언 할 수 있습니까? 테스트를 위해 액세스 할 수있는 HashMap에서 세션을 단순한 특성으로 재정의하는 SessionAccess 특성을 작성하고 있지만 더 간단한 방법이 있습니까?

답변

2

나는 ScalatraSuite의 코드를보고 세션 객체 자체를 검색 할 방법이없는 것 같습니다. 그러나 세션 내에서 여러 호출을 실행하여 예상되는 동작을 확인할 수 있습니다.

당신은 이러한 호출 한 경우 :

post("/start") { 
    session("foo") = params("foo") 
    // ... 
} 

get("/do_something") { 
    session.get("foo") 
} 

이 같은 테스트 수 : 도움이

test("Whatever inside of a session") { 
    session { 
    post("/start", "foo" -> "bar") { 
     // assert... 
    } 
    get("/do_something") { 
     body should equal ("bar") 
    } 
    } 
} 

희망을.

+0

내가 생각한 것. 확인해 주셔서 감사합니다. –