【问题标题】: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")
        }
      }
    }
    

    希望对您有所帮助。

    【讨论】:

    • 我就是这么想的。感谢您的确认。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-22
    • 2017-05-04
    • 1970-01-01
    • 2023-03-07
    • 2017-09-21
    • 2013-08-19
    • 1970-01-01
    相关资源
    最近更新 更多