gpt4 book ai didi

crystal-lang - 如何测试私有(private)方法?

转载 作者:行者123 更新时间:2023-12-05 06:41:15 31 4
gpt4 key购买 nike

是否有任何方法可以使用 Crystal 的内置 spec 库对私有(private)方法进行单元测试?

我有 PHP 背景,可以使用 ReflectionMethod::setAccessibility更改方法对公共(public)的可访问性以允许对其进行测试。我在 Crystal API 文档中找不到任何类似的东西,所以只是想知道是否存在这样的东西。

最佳答案

我同意不应测试私有(private)方法。但是,如果您真的想这样做,您可以重新打开该类并重新定义该方法而不可见(如此公开)并使用 previous_def。例如:

class Foo
private def bar(x, y)
x + y
end
end

# Reopen
class Foo
# Redefine bar
def bar(x, y)
# Invoke the previous definition
previous_def
end
end

foo = Foo.new
p foo.bar(1, 2)

关于crystal-lang - 如何测试私有(private)方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40963315/

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