いくつかのオブジェクトをランダムな入力値でテストするために、scalatest で scalacheck を使用したいと考えています。まず、簡単なサンプルを 1 つ試してみましたが、Eclipse 経由または sbt 経由で起動するとエラーが発生します。コードは次のとおりです。
package test
import org.scalatest._
import org.scalatest.prop.GeneratorDrivenPropertyChecks
class SamplePropGenCheck extends PropSpec with GeneratorDrivenPropertyChecks with Matchers {
property("Int simple test") {
forAll("a") { a : Int =>
whenever (a > 0) {
(a * 2) should be (a + a)
}
}
}
}
実行時に、次のエラーが発生します。
*** RUN ABORTED ***
java.lang.AbstractMethodError:
org.scalatest.prop.Configuration$$anon$1.TestParams()Lorg/scalacheck/Test$Parameters$TestParams$;
at org.scalacheck.Test$Parameters$class.$init$(Test.scala:98)
at org.scalatest.prop.Configuration$$anon$1.<init>(Configuration.scala:332)
at org.scalatest.prop.Configuration$class.getParams(Configuration.scala:332)
scalatest_2.11-2.2.1 と scalacheck_2.11-1.12.3 を scala 2.11.6 で使用しています。
GeneratorDrivenPropertyChecks の代わりに TableDrivenPropertyChecks を使用して別のテストを行うと、うまくいきます。
ドキュメントやグーグルでヘルプが見つかりません。コードエラーですか、バグですか、それともバージョンの問題ですか? 誰かが解決策を見つけるのを手伝ってくれますか?