【问题标题】:Can I test Java controllers with specs2 in Play Framework 2?我可以在 Play Framework 2 中使用 specs2 测试 Java 控制器吗?
【发布时间】:2013-12-30 04:38:37
【问题描述】:

我有一个用 Java 编写的控制器,我想使用带有 specs2 的 Scala 对其进行测试。我可以用 JUnit 测试我的控制器,它工作正常。但我无法用 specs2 对其进行测试。我关注了the documentation,它提到我应该将 fakeRequest 作为参数传递。但是 Java 控制器中的方法不接受任何参数,所以我无法使用这种方法。

如何测试它?我能想到的唯一方法是使用与 JUnit 中相同的方法,但使用 specs2 并没有带来好处。

【问题讨论】:

    标签: java scala playframework playframework-2.0 specs2


    【解决方案1】:

    哦,我自己想通了。

    我可以使用来自 play.test.Helpers 的助手,然后将它们与 specs2 匹配器一起使用,它可以按预期工作。

    import controllers.routes
    import org.specs2.mutable.Specification
    import play.test.Helpers._
    import play.api.test._
    
    class MyControllerSpec extends Specification {
      "My Controller" should {
        "respond with text/plain content type" in new WithApplication {
          val result = callAction(routes.ref.MyController.index(), fakeRequest())
          contentType(result) mustEqual "text/plain"
        }
      }
    }
    

    【讨论】:

      猜你喜欢
      • 2015-10-06
      • 2013-11-02
      • 2017-04-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-03
      • 1970-01-01
      相关资源
      最近更新 更多