我尝试使用intellij调试一些测试.
我已将远程调试配置为解释如下:如何在IntelliJ Idea中的playframework中进行调试
并且可以调试控制器和东西.当我尝试调试如下的测试时: 是否可以调试Play!IntelliJ的测试,模块位于子文件夹中?
但我重新接受了下一条消息:
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
知道这里发生了什么吗?我在调试模式下运行服务器并运行播放测试,只在控制台模式下运行测试.不是服务器.
默认情况下,SBT正在分配一个新进程来执行测试.您的IDE已连接到SBT主进程,但未连接到"分叉"进程,这就是调试不起作用的原因.
您可以通过在Build.scala文件中定义以下设置来覆盖它:
val main = play.Project(appName, appVersion, appDependencies).settings( sbt.Keys.fork in Test := false )
现在,主进程将用于执行测试(test
从播放控制台执行时),您的IDE应该能够正确调试它们.