gpt4 book ai didi

具有参数类型的 Scalacheck/Scalatest

转载 作者:行者123 更新时间:2023-12-02 03:31:07 25 4
gpt4 key购买 nike

我想用 scalatest 和 scalacheck 测试通用堆栈。到目前为止我有这个:

"Stack" should "pop the last value pushed" in {
check(doPushPop(element))
}

def doPushPop[T](element : T) : Boolean = {
val stack = new Stack[T]
stack.push(element)
stack.pop() == element
}

然而,这显然不能编译。如何将通用类型指定为测试的一部分?

最佳答案

如果你想生成随机值,例如整数:

check(doPushPop(_: Int))

但不是使用单个值进行测试,而是应该生成一系列推送/弹出操作并验证一些不变性;堆栈显然不依赖于您放入其中的值,所以我认为像上面那样进行如此简单的测试毫无意义。

您应该阅读如何使用 ScalaCheck 测试有状态系统:

http://www.scalacheck.org/files/scaladays2014/index.html

关于具有参数类型的 Scalacheck/Scalatest,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26702169/

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