2012-03-06 10 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

私はそれを考えました。確認していただきありがとうございます。 –

関連する問題