gpt4 book ai didi

scala - 如何获得为 scala 案例类生成的随机数据,并能够使用 "change some values"进行单元测试?

转载 作者:行者123 更新时间:2023-12-03 04:49:36 32 4
gpt4 key购买 nike

我正在使用一段具有广泛/深入的案例类层次结构的代码。对于单元测试,我希望在类中填充“随机数据”,并且能够更改我关心的字段的数据?

示例:

case class Foo(bar: Bar, name: String, value: Int)
case class Bar(baz: Baz, price: Double)
case class Baz(thing: String)

所以类似:

val randomFoo = GenerateRandomData(Foo)
randomFoo.bar.baz = Baz("custom for testing")

我听说过 ScalaCheckShapeless 以及 Scalacheck-shapeless,它们确实提供了某种随机数据生成功能,但没有提供自定义功能看来。

我目前正在使用 ScalaMock,但这会构建 null 字段并破坏“其他”测试的可测试性。我在 .Net 中使用了类似的东西,比如 Auto Fixture,并且想知道 Scala 中是否也有类似的东西。

最佳答案

我想,您正在寻找 scalaz lense .

它会做你想做的事。

但是,我不得不说,使用随机数据进行单元测试似乎是一个可怕的想法。您将如何调试时不时发生的故障?

您应该投入一些时间来设置一组确定性的恒定测试对象,这些对象也类似于实际的生产数据,然后在测试中使用它。

关于scala - 如何获得为 scala 案例类生成的随机数据,并能够使用 "change some values"进行单元测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56083851/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com