3

私は現在、ScalaTestフレームワークとScalatraSuiteクラスを使用していくつかのScalatraテストを作成しています。

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

次のステップでは、いくつかのセッション値の存在を確認する必要がありますが、これを行う方法が不明ですか?誰かアドバイスできますか?テストの目的で、アクセス可能なHashMapにセッションを格納する単純な特性でオーバーライドするSessionAccess特性を作成していますが、もっと簡単な方法があると確信していますか?

4

1 に答える 1

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")
    }
  }
}

それが役立つことを願っています。

于 2012-03-06T14:59:04.153 に答える