使用一个基本示例,我尝试使用此库随机生成一堆 Person ( case class Person(name: String, age: Int
) 实例以生成随机数据。
我遇到的问题是在创建一个具有年龄参数限制的任意值时,如下所示。
val arbPersonUnder18: Arbitrary[Person] = Arbitrary(
for {
name <- Gen.alphaStr
age <- Gen.chooseNum(Int.MinValue, 17)
} yield Person(name, age)
)
"validatePersonForAlcohol" should {
"ensure people with age less than 18 cannot buy alcohol" in {
implicit val _: Arbitrary[Person] = arbPersonUnder18
forAll { person: Person =>
...
}
}
}
这导致could not find implicit value for parameter arbA: org.scalacheck.Arbitrary[pbtexample.Person]
我不明白为什么它无法找到所需的任意内容,任何建议都会很棒。