如何使用Eclipse调试由sbt驱动的测试?

时间:2013-03-19 22:10:49

标签: eclipse scala sbt scala-ide

我有一组我想调试的测试用例(一步一步,读取值等)。如何设置我的sbt构建,以便我可以连接eclipse调试器?

2 个答案:

答案 0 :(得分:4)

我找到了一种附加Eclipse调试器的方法。对于Build.scala项目设置,我添加了以下选项:

//required for the javaOptions to be passed in
fork := true

javaOptions in (Test) += "-Xdebug"

javaOptions in (Test) += "-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005"

然后在Eclipse中,我可以创建Debug configuration类型的新Remote Java Application(错误图标旁边的箭头)。在那里,我可以选择Scala debugger (Socket Attach)并指定端口5005

我现在遇到的问题是我无法设置任何断点,但这是另一个问题,可能与我使用的Scala IDE版本有关。

修改

设置断点的问题(很可能)与我的specs2规范中的奇特结构有关。我用方法创建了一个小对象,以便能够设置断点

object BreakPoint { 
  def set = {}
}

答案 1 :(得分:0)

通过远程连接器使用Scala debugger可以正常工作。

但是,如果您想避免在sbtEclipse之间来回切换,可以使用sbteclipseScala IDE中加载项目,然后运行您的规范2使用JUnit launcher在调试模式下从Scala IDE内部进行测试。