【问题标题】:Specs2 + JUnit + ScalaTest initializationError test class cannot be cast to org.scalatest.SuiteSpecs2 + JUnit + ScalaTest 初始化Error test class cannot be cast to org.scalatest.Suite
【发布时间】:2014-07-22 10:01:11
【问题描述】:

我正在关注http://scala-ide.org/docs/current-user-doc/testingframeworks/index.html 与库:

  • "org.specs2" %% "specs2-core" % "2.3.11" % "test"
  • "org.scalatest" % "scalatest_2.10" % "2.1.7" % "test"
  • JUnit 4.11

测试类:

import reactivemongo.bson._
import org.specs2.mutable._
import reactivemongo.bson.exceptions.DocumentKeyNotFound
import reactivemongo.bson.Macros.Annotations.Key
import org.specs2.runner._
import org.junit.runner._
import org.scalatest.junit._


@RunWith(classOf[JUnitRunner])
class MacrosSpec extends Specification  {
}

我得到了初始化错误

MacrosSpec
initializationError(MacrosSpec)
java.lang.ClassCastException: MacrosSpec cannot be cast to org.scalatest.Suite

    at org.scalatest.junit.JUnitRunner.<init>(JUnitRunner.scala:64)

    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)

    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)

    at java.lang.reflect.Constructor.newInstance(Unknown Source)

    at org.junit.internal.builders.AnnotatedBuilder.buildRunner(AnnotatedBuilder.java:29)

    at org.junit.internal.builders.AnnotatedBuilder.runnerForClass(AnnotatedBuilder.java:21)

    at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)

    at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:26)

    at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)

    at org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:26)

    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.<init>(JUnit4TestReference.java:33)

    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestClassReference.<init>(JUnit4TestClassReference.java:25)

    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createTest(JUnit4TestLoader.java:48)

    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.loadTests(JUnit4TestLoader.java:38)

    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:452)

    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)

    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)

    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)

环境

【问题讨论】:

    标签: scala junit scalatest specs2 scala-ide


    【解决方案1】:

    您需要导入org.specs2.runner.JUnitRunner 而不是org.scalatest.junit.JUnitRunner

    【讨论】:

    • 谢谢!!!我已经将 "org.specs2" %% "specs2-core" % "2.3.11" % "test" 更改为 "org.specs2" %% "specs2" % "2.3.11" % "test"跨度>
    猜你喜欢
    • 2018-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-04
    • 2021-07-13
    • 2022-12-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多