gpt4 book ai didi

testing - 你能在 scala 中测试嵌套函数吗?

转载 作者:行者123 更新时间:2023-11-28 19:43:12 26 4
gpt4 key购买 nike

有什么方法可以测试嵌套函数(最好使用 ScalaTest)?

例如,有没有办法在下面的代码中测试g():

def f() = {
def g() = "a string!"
g() + "– says g"
}

最佳答案

gf 之外是不可见的,所以我敢说不,至少不是没有反射。

我认为测试 g 会打破单元测试的概念,无论如何,因为您不应该测试实现细节,而应该只测试公共(public) API 行为。如果 f 的测试失败,则跟踪 g 中的错误是调试过程的一部分。

如果测试 g 对您很重要,请将 g 定义为 f 之外的( protected )方法。不过,这可能会破坏您的设计。

另一个想法是在原始代码中调用 g 之后调用 assert。这将在测试期间执行并在属性不成立时引发异常,从而导致测试失败。它也会出现在常规代码中,但可以被编译器删除,因为 assert(和同伴)是可取消的(参见例如 here)。

关于testing - 你能在 scala 中测试嵌套函数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5333298/

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