使用Eclipse Play Framework 2.1调试子项目单元测试

时间:2014-02-21 18:33:10

标签: eclipse unit-testing debugging playframework remote-debugging

使用eclipse调试器调试我的Play webapp没有问题,但在单元测试期间调试器没有成功。我已经尝试了herehere列出的建议,但是当我通过Eclipse连接我的调试器时,我的断点仍然被忽略。

我的网络应用包含两个子项目,我添加了设置:

Keys.fork in (Test) := false

play.Project(...)。settings部分中的所有三个 Build.scala 文件:我的两个子项目以及顶层的项目。然后我做以下事情:

  1. 从播放控制台中,运行播放清洁
  2. 从播放控制台
  3. ,运行播放编译
  4. 从播放控制台运行播放调试
  5. 来自Eclipse的
  6. 运行调试配置,查看端口9999(我用来成功调试webapp的那个)
  7. 在play $提示符下,运行测试
  8. 在调试部分子项目或使用 fakeApplication (我正在使用内存数据库进行模型测试)时,是否还需要采取其他措施?

1 个答案:

答案 0 :(得分:0)

在顶级 build.scala 文件中,有三行如下所示:

val proj1 = play.Project(appName + "-Proj1", appVersion, proj1Dependencies, path = file("subprojects/Proj1") )

val proj2 = play.Project(appName + "-Proj2", appVersion, proj2Dependencies, path = file("subprojects/Proj2") )

val main = play.Project(appName,      appVersion, mainDependencies).settings(
// Add your own project settings here)
).dependsOn( proj1, proj2 ).aggregate( proj1, proj2 )

我想在proj2中调试单元测试,所以我需要在那里添加新设置:

val proj2 = play.Project(appName + "-Proj2", appVersion, proj2Dependencies, path = file("subprojects/Proj2") ).settings(
Keys.fork in (Test) := false

注意:在此示例中,所有三个依赖变量:mainDependencies,proj1Dependencies和proj2Dependencies指向相同的基本依赖项,如下所示:

val baseDependencies = Seq(
javaCore,
javaJdbc,
javaEbean,
"xom" % "xom" % "1.2.5",
"net.sf.json-lib" % "json-lib" % "2.4" classifier "jdk15"