playframework-2.1 - 如何在intellij中调试play框架2.1.0 scala测试

标签 playframework-2.1

我尝试用 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/

相关文章:

database - Play Framework 2.1 Neo4j 嵌入式

mysql - 如何使用 Play 2.x 对 MySQL 数据库进行单元测试?

forms - Play Framework 2.1 Scala - 日期的表单绑定(bind)

postgresql - Play 的进化并没有在 Heroku 上运行

scala - 从 Controller 中重构业务逻辑的好习惯方法

java - 为什么 2.1.0 版本的 playframework 测试失败?

java - 所有者删除时违反参照完整性约束(OneToMany 单向)

scala - Play Framework 2.1 + ReactiveMongo - 填充多个下拉列表

java - Play Framework 依赖注入(inject)

java - 如何更改游戏框架名称?