eclipse - 如何使用Play调试测试! 2.0

标签 eclipse junit playframework playframework-2.0 jpda

我正在使用Play 2设置项目,并且已经可以使用Eclipse远程调试来调试Webapp。虽然,我也想在测试中使用断点。有谁知道设置单元测试的远程调试方式?

最佳答案

之所以发生这种情况是因为Play(SBT) fork 了单独的JVM进行测试,而没有远程调试所需的选项。您至少有两个选项:禁用新JVM的派生,将其他选项传递给用于测试的JVM。

要禁用fork,请修改Build.scala,添加fork in (Test) := false,请参见下面的完整Build.scala示例:

import sbt._
import play.Project._

object ApplicationBuild extends Build {

  val appName         = "so1"
  val appVersion      = "1.0-SNAPSHOT"

  val appDependencies = Seq(
    // Add your project dependencies here,
    javaCore,
    javaJdbc,
    javaEbean
  )

  val main = play.Project(appName, appVersion, appDependencies).settings(
    // Add your own project settings here
    Keys.fork in (Test) := false
  )
}

要传递其他选项,请添加您可以使用以下代码:
  val main = play.Project(appName, appVersion, appDependencies).settings(
    Keys.javaOptions in (Test) += 
    "-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=9998"
  )

您将需要配置IDE以使用端口9998附加到测试。
另外,每次运行测试时,您都需要重新连接调试器,这可能会带来不便。

关于eclipse - 如何使用Play调试测试! 2.0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15201034/

相关文章:

java - Spring Boot 集成测试无法访问 application.properties 文件

java - 测试 JUnit 和 EclEmma 时遗漏的分支

javascript - Play Framework 解析错误。不支持的语法 : CONST

java - 在 Action 组合期间访问 Play Framework 路由参数

java - Mockito中是否有类似于Junit Setup Method的东西

java - Play .exceptions.JavaExecutionException : id to load is required for loading

c - eclipse CDT : How to generate header file from source file?

eclipse - 如何在不使用 Eclipse 的情况下手动将项目添加到 Eclipse

java - 是否可以在 Eclipse JPA 工具中使用 Oracle 数据库同义词

eclipse - 如何设置Eclipse日期变量格式?