PhD*_*PhD 3 unit-testing scala scalacheck
我正在使用一段具有广泛/深层案例类层次结构的代码。对于单元测试,我想在类中填充“随机数据”,以便能够更改我关心的字段的数据?
例:
case class Foo(bar: Bar, name: String, value: Int)
case class Bar(baz: Baz, price: Double)
case class Baz(thing: String)
Run Code Online (Sandbox Code Playgroud)
所以像这样:
val randomFoo = GenerateRandomData(Foo)
randomFoo.bar.baz = Baz("custom for testing")
Run Code Online (Sandbox Code Playgroud)
我听说过ScalaCheck,并Shapeless和Scalacheck-shapeless与他们提供某种形式的随机数据生成,但没有与定制看来的。
我目前正在使用,ScalaMock但这会扩展null字段并破坏“其他”测试的可测试性。我在.Net中使用了类似Auto Fixture的工具,并且想知道Scala中是否有类似的工具。