我有一组我想调试的测试用例(一步一步,读取值等)。如何设置我的sbt
构建,以便我可以连接eclipse调试器?
答案 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
可以正常工作。
但是,如果您想避免在sbt
和Eclipse
之间来回切换,可以使用sbteclipse在Scala IDE
中加载项目,然后运行您的规范2使用JUnit launcher在调试模式下从Scala IDE
内部进行测试。