我尝试用 Intellij 调试一些测试。
我已经按照以下说明配置了远程调试:How to make the debugging in playframework in IntelliJ Idea
并且可以调试 Controller 和东西。当我尝试调试诸如解释之类的测试时:
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
知道这里发生了什么吗?我在 Debug模式下运行服务器并运行 Play 测试,只在控制台模式下运行测试。不作为服务器。
最佳答案
默认情况下,SBT 会 fork 一个新进程来执行测试。您的 IDE 已连接到 SBT 主进程,但未连接到“ fork ”进程,这就是调试不起作用的原因。
您可以通过在 Build.scala 文件中定义以下设置来覆盖它:
val main = play.Project(appName, appVersion, appDependencies).settings(
sbt.Keys.fork in Test := false
)
现在,主进程将用于执行测试(从 Play 控制台执行
test
时),您的 IDE 应该能够正确调试它们。
关于playframework-2.1 - 如何在intellij中调试play框架2.1.0 scala测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16734920/