Intellij不会运行ScalaTests - "不兼容的类更改错误"

Nic*_*ick 8 scala intellij-idea scalatest

我正在尝试在intellij中运行基于sbt的Scala应用程序的测试.但我得到以下错误,我不知道如何解决:

Testing started at 21:07 ...
java.lang.IncompatibleClassChangeError: Found class scala.collection.mutable.ArrayOps, but interface was expected
    at org.scalatest.tools.Runner$.checkArgsForValidity(Runner.scala:895)
    at org.scalatest.tools.Runner$.runOptionallyWithPassFailReporter(Runner.scala:729)
    at org.scalatest.tools.Runner$.run(Runner.scala:711)
    at org.scalatest.tools.Runner.run(Runner.scala)
    at org.jetbrains.plugins.scala.testingSupport.scalaTest.ScalaTestRunner.runScalaTest2(ScalaTestRunner.java:144)
    at org.jetbrains.plugins.scala.testingSupport.scalaTest.ScalaTestRunner.main(ScalaTestRunner.java:35)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:601)
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)
Run Code Online (Sandbox Code Playgroud)

当我使用Junit runner属性装饰我的类时,它们工作正常(并且它实际上在视觉效果方面更好):

@RunWith(classOf[JUnitRunner])
Run Code Online (Sandbox Code Playgroud)

小智 0

这似乎是 Scala 测试运行框架的问题。我也遇到过同样的问题;最终就像您建议的那样最终使用 junit 测试运行器来使其工作。但在我的例子中,问题是它引入了传递依赖,并且没有这样的类错误。