简体   繁体   中英

How can I use Eclipse to debug tests driven by sbt?

I have a set of test cases that I want to debug (step by step, reading values, etc.). How can I setup my sbt build so that I can hookup an eclipse debugger?

I found a way to attach the Eclipse debugger. To the Build.scala project settings I add the following options:

//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"

Then in Eclipse I can create a new Debug configuration (arrow next to the bug icon) of type Remote Java Application . There I can select Scala debugger (Socket Attach) and specify the port 5005 .

Problem I now have is that I cannot set any breakpoints, but that's another question and might be related to the version of Scala IDE that I use.

Edit

Problems with setting the breakpoint had (most likely) something to do with the exotic constructions in my specs2 specification. I created a small object with a method in order to be able to set a breakpoint

object BreakPoint { 
  def set = {}
}

Using the Scala debugger through the remote connector works.

But if you want to avoid to go back and forth between sbt and Eclipse , you can load your project in Scala IDE using sbteclipse , and then run your specs2 tests from inside Scala IDE , in debug mode, using the JUnit launcher .

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM