如何在intellij中调试播放框架2.1.0 scala测试

时间:2013-05-24 12:24:19

标签: playframework-2.1

我尝试用intellij调试一些测试。

我已将远程调试配置为:How to make the debugging in playframework in IntelliJ Idea

中的解释

可以调试控制器和东西。当我尝试调试如下的测试时: Is it possible to debug Play! tests from IntelliJ, with a moduled that is located in a sub-folder?

但我重申了下一条消息:

Action not found

For request 'GET /@tests'
These routes have been tried, in this order:
1GET/controllers.Application.index
2GET/assets/$file<.+>controllers.Assets.at(path:String = "/public", file:String)
3GET/api/crawl/task/begincontrollers.services.crawler.CrawlingService.begin
4GET/api/crawl/task/silk

知道这里发生了什么吗?我在调试模式下运行服务器并运行播放测试,只在控制台模式下运行测试。不是服务器。

1 个答案:

答案 0 :(得分:7)

默认情况下,SBT正在分配一个新进程来执行测试。您的IDE已连接到SBT主进程,但未连接到“分叉”进程,这就是调试不起作用的原因。

您可以通过在Build.scala文件中定义以下设置来覆盖它:

val main = play.Project(appName, appVersion, appDependencies).settings(
  sbt.Keys.fork in Test := false
)

现在,主进程将用于执行测试(从播放控制台执行test时),IDE应该能够正确调试它们。