使用FunSuite与IntelliJ如何单独执行单个测试用例?
解决IntelliJ中FunSuite单个测试用例无法选中执行的问题
我之前在使用ScalaTest的FunSuite配合IntelliJ时,也碰到过一模一样的问题!给你几个亲测有效的解决办法:
检查并更新Scala插件
IntelliJ对Scala测试的识别很大程度依赖Scala插件版本,旧版本可能存在FunSuite单个测试识别的bug。你可以通过File → Settings → Plugins找到Scala插件,点击更新到最新稳定版,然后重启IntelliJ试试。手动创建单个测试的运行配置
如果自动识别的运行图标不显示,手动配置是个靠谱的办法:- 点击右上角运行配置的下拉框,选择
Edit Configurations - 点击左上角的
+号,选择Scala Test - 在
Configuration标签页中,将Test kind设置为Single test - 在
Test class中填入你的测试类全限定名(比如com.yourpackage.MyTestIntegrationTest),Test name中填入你要执行的测试方法名(比如test1) - 保存配置后,直接点击运行按钮就能执行单个测试了
- 点击右上角运行配置的下拉框,选择
尝试右键运行或清理缓存
有时候IntelliJ的缓存会导致测试识别异常:- 直接在目标测试方法的代码行上右键,看看有没有
Run 'test1'的选项,如果有直接点击即可 - 如果还是不行,试试
File → Invalidate Caches...,选择Invalidate and Restart,重启后IntelliJ会重新扫描项目,很多识别问题都能解决
- 直接在目标测试方法的代码行上右键,看看有没有
确认依赖配置正确
确保你的构建文件(比如build.sbt)中引入了正确的ScalaTest和JUnit依赖,这是IntelliJ识别测试的基础。示例依赖如下(版本可以根据你的Scala版本调整):libraryDependencies += "org.scalatest" %% "scalatest" % "3.2.15" % Test libraryDependencies += "junit" % "junit" % "4.13.2" % Test libraryDependencies += "com.novocode" % "junit-interface" % "0.11" % Test
内容的提问来源于stack exchange,提问作者Guille
相关产品推荐
相关产品推荐

