java - 我可以在 Play Framework 2 中使用 specs2 测试 Java Controller 吗?

标签 java scala playframework playframework-2.0 specs2

我有一个用 Java 编写的 Controller ,我想使用 Scala 和 specs2 来测试它。我可以使用 JUnit 测试我的 Controller ,它工作得很好。但我无法用specs2来测试它。我已关注the documentation它提到我应该传递一个 fakeRequest 作为参数。但 Java Controller 中的方法不接受任何参数,因此我无法使用此方法。

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

最佳答案

哦,我自己已经弄清楚了。

我可以使用 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"
    }
  }
}

关于java - 我可以在 Play Framework 2 中使用 specs2 测试 Java Controller 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20532139/

相关文章:

scala - Lagom 的多部分表单错误

java - Spring Messaging 和 GsonMessageConverter 的 LazyInitializationException

java - 如何使用 sbt-assembly 插件设置 build.sbt?

scala - 如何使用play的表单验证来检查密码是否匹配

scala - Scala 中奇怪的 isInstanceOf 行为

scala - 如何在运行 scala 的 Bluemix Spark 笔记本中运行 shell 命令?

java - 依赖注入(inject)在 Play Framework 2.4.x 的模型或测试中不起作用

java - 使用正则表达式接受包含字母的字符串

java - 使用 Date API 的日期类的默认构造函数

java - 使用 Java 隐藏 JSF 元素