gpt4 book ai didi

vba - 我可以更改私有(private)方法的可见性以便对它们进行单元测试吗

转载 作者:行者123 更新时间:2023-12-04 06:38:51 25 4
gpt4 key购买 nike

我在 this 中看到回答对于Java,您可以在单元测试中将私有(private)方法的可见性设置为“true”以测试该方法。是否有类似的东西可用于 VBA,以便我可以使用 RD-VBA 对私有(private)方法进行单元测试?

如果没有,我有一个类在三个私有(private)方法中计算出一些逻辑并将其返回给一个返回值,我是否注定只能提供一个输入值并测试返回值,而无法测试三种私有(private)方法在两者之间起重作用?

最佳答案

您不应该需要为私有(private)方法编写测试,无论使用何种语言。您测试公共(public) API,私有(private)的是不相关的实现细节。

如果它相关且重要到足以单独测试,那么您应该将该私有(private)方法提取到另一个类,并将其公开为该类的公共(public)成员。

例如,一旦我有一个表单并且我想将用户在文本框中的输入限制为数字字符,并且由于我在其他地方重用该逻辑而不是将其视为我的表单的实现细节,我提取了一个 AsciiInputValidator 类及其公共(public) IsValidNumericValue 方法可以作为其自己的 SUT 以各种可能的方式进行测试。

不要测试私有(private)方法:公共(public)方法无论如何都会调用它们。

不幸的是Extract Class重构功能在撰写本文时尚未实现,因此目前 Rubberduck 无法自动为您执行此操作……但它绝对在范围内,如果您正在阅读本文并且准备进行一些 C# 元编程挑战,去吧,拉请求总是受欢迎的!

关于vba - 我可以更改私有(private)方法的可见性以便对它们进行单元测试吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49799275/

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