【问题标题】:Getting Session Value from ScalatraTest-ScalaTest从 ScalatraTest-ScalaTest 获取会话值
【发布时间】:2012-03-06 13:21:49
【问题描述】:
我目前正在使用 ScalaTest 框架和 ScalatraSuite 类编写一些 Scalatra 测试。
test("when i try to go to the base url it shold redirect me "){
get("/") {
status should be(302)
}
}
下一步需要我检查一些会话值是否存在,但不清楚如何执行此操作?任何人都可以建议吗?我正在创建一个 SessionAccess 特征,为了测试的目的,用一个简单的特征覆盖可访问的 HashMap 中的存储会话,但我确定有更简单的方法吗?
【问题讨论】:
标签:
scala
scalatest
scalatra
【解决方案1】:
我查看了 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")
}
}
}
希望对您有所帮助。