2

我试图使用random具有以下签名的方法:

def random[T: WeakTypeTag: Arbitrary]: T 

在一个名为的案例类上Checking,但我得到了这个:

找不到 org.scalacheck.Arbitrary [com.organization.lambda.Checking] 类型的证据参数的隐式值

我知道这是由于上下文边界的一些问题,但我无法理解这一点并理解必须做什么。

4

1 回答 1

3

你使用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)
于 2018-06-08T09:24:51.503 回答