我试图使用random
具有以下签名的方法:
def random[T: WeakTypeTag: Arbitrary]: T
在一个名为的案例类上Checking
,但我得到了这个:
找不到 org.scalacheck.Arbitrary [com.organization.lambda.Checking] 类型的证据参数的隐式值
我知道这是由于上下文边界的一些问题,但我无法理解这一点并理解必须做什么。
我试图使用random
具有以下签名的方法:
def random[T: WeakTypeTag: Arbitrary]: T
在一个名为的案例类上Checking
,但我得到了这个:
找不到 org.scalacheck.Arbitrary [com.organization.lambda.Checking] 类型的证据参数的隐式值
我知道这是由于上下文边界的一些问题,但我无法理解这一点并理解必须做什么。
你使用random-data-generator-magnolia吗?
如果是这样,您应该为 Arbitrary[Checking] 案例类指定隐式值。
来自测试源的示例:
implicit val arbitraryPerson: Arbitrary[Person] = Arbitrary {
for {
name <- Gen.oneOf("Daniela", "John", "Martin", "Marco")
age <- Gen.choose(0, 100)
} yield Person(name, age)
}
val instance = random[Person]
人是:
case class Person(name: String, age: Int)