KaC*_*KaC 14 testing scala scalacheck
我正在尝试使用Scalacheck生成随机数据.我有一个包含许多属性的case类的层次结构.我到目前为止找到填充案例类的唯一方法是这样的:
case class Data(a: String,
b: String,
c: String)
val genLigneDecompte: Gen[Data] = for {
ag <- Gen.alphaStr
bg <- Gen.alphaStr
cg <- Gen.alphaStr
} yield Data(
a = ag,
b = bg,
c = cg
)
Run Code Online (Sandbox Code Playgroud)
对于具有10-20个属性的案例类,这非常繁琐.我想知道是否有办法以某种方式自动化它...
Rüd*_*ehn 15
我相信有人会提出一个解决方案,使用无形的抽象结构.但是有一些辅助方法可以从不同arity的函数生成Gen [T]实例,它可以与case类伴随对象的apply方法一起使用
case class Data(a: String, b: String, c: String)
val dataArb = Arbitrary(Gen.resultOf(Data))
// equivalent to
// val f: (String, String, String) => Data = Data.apply
// val gen: Gen[Data] = Gen.resultOf(f)
// val arb: Arbitrary[Data] = Arbitrary(gen)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4102 次 |
最近记录: |