scala - 您如何附加 Scala Intellij 调试器进行测试?
问题描述
配置 IntelliJ 调试器以附加到由 sbt 管理的 scala Play 测试需要哪些步骤?
在 IntelliJ 2019 中,您可以使用 sbt shell 中的调试按钮将调试器附加到 sbtrun
命令,而无需更改配置。
但是,调试器不会附加到test
命令。
解决方案
考虑通过 IntelliJ 的sbt shell附加调试器:
- 在sbt 项目工具窗口中选择复选框
Use sbt shell for builds
- 打开sbt shell工具窗口(通常位于底部)
- 单击
Attach debugger to sbt shell
按钮(图标看起来像一个错误) - 在状态栏中应该
Connected to the target VM
显示(见下图) - 在测试中设置断点
test
在sbt shell工具窗口中执行命令- 调试 sbt shell窗口应该打开并且执行应该在第一个断点处停止。
请注意,如果您使用类似 OP 的 Play,则默认情况下 Play 在分叉的 JVM中运行测试,因此要使上述技术起作用,请尝试Test / fork := false
在build.sbt
.
推荐阅读
- javascript - 查找最靠近视口顶部的 div
- python - 如何从 4 维 numpy 数组中选择随机样本
- php - 可能的 PHPMailer 错误消息,以便更好地处理错误
- excel - 使用 Google Cloud Data Fusion/CDAP 创建 excel 文件
- node.js - 如何使用全局安装的 npm 包?
- npm - 在项目中安装 lerna repo
- regex - 正则表达式否定字符而不匹配它
- apache-spark - 从 Spark sql scala Row 中提取嵌套结构
- linux - 按特定内容对文件进行排序
- c++ - 为什么这个 boost::beast 代码在 boost 1.75.0 中挂在容器内而不是在容器外部,而不是在 boost 1.67.0 中?