如何在 scala 中为 case class 参数生成值
How to generate values for case class parameters in scala
我有一个案例 class 有 250 个字段:
case class Data(field1:String, field2:Int, .. )
有没有办法使用 scala 检查为其参数生成值
我看过的不相关问题:
How to generate case objects for every field in a Scala case class using macro?
Dynamically generate case class in Scala
import org.scalacheck.Shapeless._
import org.scalacheck.Arbitrary._
implicitly[Arbitrary[Data]]
以上代码片段执行以下操作:
- 通过隐式宏调用
shapeless.Generic[Data]
将您的案例 class 转换为 shapeless.HList
- 递归获取每个字段的所有
Arbitrary[String]
、Arbitrary[Int]
等
- Assemble 所有这些到一个新的
Arbitrary[Data]
实例中
我有一个案例 class 有 250 个字段:
case class Data(field1:String, field2:Int, .. )
有没有办法使用 scala 检查为其参数生成值
我看过的不相关问题:
How to generate case objects for every field in a Scala case class using macro?
Dynamically generate case class in Scala
import org.scalacheck.Shapeless._
import org.scalacheck.Arbitrary._
implicitly[Arbitrary[Data]]
以上代码片段执行以下操作:
- 通过隐式宏调用
shapeless.Generic[Data]
将您的案例 class 转换为shapeless.HList
- 递归获取每个字段的所有
Arbitrary[String]
、Arbitrary[Int]
等 - Assemble 所有这些到一个新的
Arbitrary[Data]
实例中