ScalaCheckでScalaTestを使用してプロパティベースのテストを実行しようとしています。今、私が見ている私は、何度もPropSpec1でテストを実行し続ける場合、時には第二の試験は合格ということですが、それが失敗したほとんどの時間ScalaCheckは失敗していませんか?
import org.scalatest.prop.PropertyChecks
import org.scalatest.{FlatSpec, Matchers}
object Calc {
def add(a:Int, b:Int) = a+b
def div(a:Int, b:Int) = a/b
}
class PropSpec1 extends FlatSpec with Matchers with PropertyChecks {
behavior of Calc.getClass.getName
it should "add integers" in {
forAll { (a: Int, b: Int) =>
Calc.add(a, b) shouldEqual a + b
}
}
it should "divide integers" in {
forAll {
(a:Int, b:Int) => Calc.div(a, b) shouldEqual a/b
}
}
}
:私は、以下に概説のテストを持っています。さて、もし0がbのためにテストされなければ、明らかにそれは合格しますが、私はそれが常に試みることの1つだと思っていました。私はsbtクリーンテストを繰り返し実行すると同じ動作をします。時々両方のテストが合格する。
プロパティベースのテストではこれは正常ですか、(自分の発電機を常に提供しているように)必要なことはありますか?
ありがとうございました...私はいつでも知っています。私はそれがエッジケースを試してみることにもっと関心を持っている、あるいは少なくとも0を試して覚えておくように言いました(これは意味をなさないが、より一般的な問題です)。それには何かありますか? – ashic
私の知る限り、カスタムジェネレータを用意する必要があります。他の方法があるかもしれません。多分誰かがチャイムに入ります。 –