gpt4 book ai didi

scala - 创建自定义任意生成器以测试来自 ScalaTest ScalaCheck 的 java 代码

转载 作者:行者123 更新时间:2023-12-04 22:05:02 25 4
gpt4 key购买 nike

是否可以在测试 Java 代码的 ScalaTest(它混合了 Checkers for ScalaCheck 属性)中创建自定义任意生成器?例如以下是 forAll 中每个测试所需的步骤

val fund = new Fund()
val fundAccount = new Account(Account.RETIREMENT)
val consumer = new Consumer("John")
.createAccount(fundAccount)
fund.addConsumer(consumer)
fundAccount.deposit(amount)

以上是断言结果等之前的准备代码。

最佳答案

你肯定可以。这应该让你开始。

import org.scalacheck._
import Arbitrary._
import Prop._

case class Consumer(name:String)

object ConsumerChecks extends Properties("Consumer") {
lazy val genConsumer:Gen[Consumer] = for {
name <- arbitrary[String]
} yield Consumer(name)

implicit lazy val arbConsumer:Arbitrary[Consumer] = Arbitrary(genConsumer)

property("some prop") = forAll { c:Consumer =>
// Check stuff
true
}
}

关于scala - 创建自定义任意生成器以测试来自 ScalaTest ScalaCheck 的 java 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21841326/

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