1
我无法从maven内运行我的scalachecks。例如。以下的小文档片断ScalaCheck,JUnit以默认生成器中的NoSuchMethod异常结束
@RunWith(classOf[JUnitRunner])
final class MyTest extends FunSuite with Checkers {
test("t2") {
Prop.forAll((a: String, b: String) => (a+b).startsWith(a))
}
}
结束与下面的堆栈转储:
java.lang.NoSuchMethodError: scala.runtime.IntRef.zero()Lscala/runtime/IntRef;
at org.scalacheck.Gen$.frequency(Gen.scala)
at org.scalacheck.Gen$.chooseNum(Gen.scala:455)
at org.scalacheck.Arbitrary$$anonfun$arbInt$1.apply(Arbitrary.scala:86)
at org.scalacheck.Arbitrary$$anonfun$arbInt$1.apply(Arbitrary.scala:86)
at org.scalacheck.Arbitrary$$anon$2.arbitrary$lzycompute(Arbitrary.scala:65)
at org.scalacheck.Arbitrary$$anon$2.arbitrary(Arbitrary.scala:65)
at org.scalacheck.Arbitrary$.arbitrary(Arbitrary.scala:69)
at org.scalacheck.Arbitrary$$anonfun$arbContainer$1.apply(Arbitrary.scala:299)
at org.scalacheck.Arbitrary$$anonfun$arbContainer$1.apply(Arbitrary.scala:299)
at org.scalacheck.Arbitrary$$anon$2.arbitrary$lzycompute(Arbitrary.scala:65)
at org.scalacheck.Arbitrary$$anon$2.arbitrary(Arbitrary.scala:65)
at org.scalacheck.Arbitrary$.arbitrary(Arbitrary.scala:69)
at org.scalacheck.Prop$.forAll(Prop.scala:726)
at org.scalacheck.Prop$.forAll(Prop.scala:734)
我敢打赌,这只是解决一个非常小的事情,但我找不到运行scala-的完整示例与junit-runner一起检查内部scalatest。
感谢和问候
马库斯
像这样的NoSuchMethodError通常表示您正在使用的库A版本是针对某个版本的库B编译的,而该库并不存在于您的项目中 - 例如,scalacheck期望您使用某个特定的scala版本。 –