gpt4 book ai didi

c# - 如何将私有(private)方法暴露给单元测试

转载 作者:太空宇宙 更新时间:2023-11-03 17:10:26 26 4
gpt4 key购买 nike

我正在尝试将我的私有(private)方法公开给单元测试。我在 UnitTesting Succintly 中看到了这个例子:

public class DoesSomething
{
#if TEST
public
#else
private
#endif
void SomeComputation() {
}
}

这是我的尝试,但在尝试通过测试访问时代码仍然显示为私有(private)。

#if TEST
public
#else
private
#endif
Organization TransformToOrganization(OrgChartOrganizationUnitType org)
{
...
}

最佳答案

您不需要向您的测试公开私有(private) 方法。您的类的public 方法有一个规范。您的单元测试应该测试您的类的public 方法是否符合该规范。 public 方法是如何做到的与任何人无关;只要您继续遵守公共(public) 方法的规范,您就可以随心所欲地自由更改您的私有(private) 实现。

如果您编写依赖于私有(private) 实现的单元测试,您最终会得到非常脆弱的单元测试,这些单元测试实际上不会增加​​任何值(value),因为唯一您需要验证的是公开公开的成员是否遵守他们的规范。如果背景中隐藏着四处奔跑的小猫让整个事情顺利进行,那也没关系。

关于c# - 如何将私有(private)方法暴露给单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17997852/

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