具有随机数据生成的ScalaCheck任意案例类(Magnolia)
使用一个基本示例,我试图随机生成一组Person(具有随机数据生成的ScalaCheck任意案例类(Magnolia),scala,scalatest,scalacheck,magnolia-scala,Scala,Scalatest,Scalacheck,Magnolia Scala,使用一个基本示例,我试图随机生成一组Person(case类Person(name:String,age:Int)实例,用于随机数据生成 我遇到的问题是,当创建一个具有年龄参数限制的任意变量时,如下所示 val arbPersonUnder18: Arbitrary[Person] = Arbitrary( for { name <- Gen.alphaStr age <- Gen.chooseNum(Int.MinValue, 17) }
case类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 =>
...
}
}
}
val arbbersonUnder18:任意[个人]=任意(
为了{
name即使隐式值很少(如果有的话)被name引用,它仍然需要一个,语言规范称之为“稳定标识符”
使用\uuu
作为变量名告诉编译器,它可以在创建后忘记此值。@jwvh就是这样,谢谢:)如果您将此作为答案发布,我将很高兴将其标记为已接受