Intellij 中的 Scala 测试错误 运行
Error running Scala tests in Intelli-J
我在通过 Intelli-J Run/Debug 配置获取我的 Scala 测试 运行ing 时遇到了一些问题。如果我直接在 SBT 控制台中 运行 测试,测试就会工作。
我的配置是这样的:
我在 运行 控制台面板中收到此错误:
java.lang.IllegalArgumentException: ERROR: -r has been deprecated for a very long time and is no longer supported, to prepare for reusing it for a different purpose in the near future. Please change all uses of -r to -C.
at org.scalatest.tools.ArgsParser$.checkArgsForValidity(ArgsParser.scala:41)
at org.scalatest.tools.Runner$.runOptionallyWithPassFailReporter(Runner.scala:857)
at org.scalatest.tools.Runner$.run(Runner.scala:850)
at org.scalatest.tools.Runner.run(Runner.scala)
at org.jetbrains.plugins.scala.testingSupport.scalaTest.ScalaTestRunner.runScalaTest2(ScalaTestRunner.java:141)
at org.jetbrains.plugins.scala.testingSupport.scalaTest.ScalaTestRunner.main(ScalaTestRunner.java:32)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134)
我检查过我的插件都是最新的。我需要使用特定版本的 Scala 吗?还是我缺少一些额外的设置?
看来是 Intelli-J 13 下的 Scala 插件有问题。
我通过升级到 Intelli-J 2016.3 解决了这个问题,我认为它已经更改为将更新的 -C
切换到 ScalaTestRunner。
@JasonF 在他下面的评论中指出,项目依赖也可能导致 scalatest 插件出现问题(他就是这种情况)。在升级 IDE.
之前,值得尝试 运行 新示例 Scala 项目的测试来测试这种情况
对于即使使用较新版本的 IntelliJ 也遇到此问题的任何人,以下是我如何找出问题所在的方法。我在我试图 运行 测试的模块的 pom 顶部引入了 scalatest 依赖项。然后一个单独的测试将 运行 而没有这个错误。我将依赖项向下移到 pom 中,直到问题再次出现以找出导致问题的依赖项。然后我发现该依赖项有一些非常旧的依赖项,包括未显示在我的依赖项树中的旧版本的 scalatest。此外,此 jar 依赖项具有 scalatest 作为未标记范围测试的依赖项。
我在通过 Intelli-J Run/Debug 配置获取我的 Scala 测试 运行ing 时遇到了一些问题。如果我直接在 SBT 控制台中 运行 测试,测试就会工作。
我的配置是这样的:
我在 运行 控制台面板中收到此错误:
java.lang.IllegalArgumentException: ERROR: -r has been deprecated for a very long time and is no longer supported, to prepare for reusing it for a different purpose in the near future. Please change all uses of -r to -C.
at org.scalatest.tools.ArgsParser$.checkArgsForValidity(ArgsParser.scala:41)
at org.scalatest.tools.Runner$.runOptionallyWithPassFailReporter(Runner.scala:857)
at org.scalatest.tools.Runner$.run(Runner.scala:850)
at org.scalatest.tools.Runner.run(Runner.scala)
at org.jetbrains.plugins.scala.testingSupport.scalaTest.ScalaTestRunner.runScalaTest2(ScalaTestRunner.java:141)
at org.jetbrains.plugins.scala.testingSupport.scalaTest.ScalaTestRunner.main(ScalaTestRunner.java:32)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134)
我检查过我的插件都是最新的。我需要使用特定版本的 Scala 吗?还是我缺少一些额外的设置?
看来是 Intelli-J 13 下的 Scala 插件有问题。
我通过升级到 Intelli-J 2016.3 解决了这个问题,我认为它已经更改为将更新的 -C
切换到 ScalaTestRunner。
@JasonF 在他下面的评论中指出,项目依赖也可能导致 scalatest 插件出现问题(他就是这种情况)。在升级 IDE.
之前,值得尝试 运行 新示例 Scala 项目的测试来测试这种情况对于即使使用较新版本的 IntelliJ 也遇到此问题的任何人,以下是我如何找出问题所在的方法。我在我试图 运行 测试的模块的 pom 顶部引入了 scalatest 依赖项。然后一个单独的测试将 运行 而没有这个错误。我将依赖项向下移到 pom 中,直到问题再次出现以找出导致问题的依赖项。然后我发现该依赖项有一些非常旧的依赖项,包括未显示在我的依赖项树中的旧版本的 scalatest。此外,此 jar 依赖项具有 scalatest 作为未标记范围测试的依赖项。