gpt4 book ai didi

c# - 如何模拟私有(private)静态内部类?

转载 作者:太空宇宙 更新时间:2023-11-03 19:05:16 27 4
gpt4 key购买 nike

我想问一个很困扰我的问题...

如何模拟 MyPublicStaticMethod_C 的返回值?? MyPrivateStaticClass_B 确实是私有(private)静态

public static partial class MyPublicStaticClass_A
{
private static partial class MyPrivateStaticClass_B
{
public static int MyPublicStaticMethod_C(string para)
{
//...
}
//...
}
}

最佳答案

我要在这里稍微帮点忙,告诉你你不应该 mock 它。在编写测试时,你应该只测试你的公共(public)接口(interface),而不是你的私有(private)接口(interface)。私有(private)内容是特定于实现的,您的测试不应该关心它。

如果您有一个调用私有(private)方法的公共(public)方法,并且您觉得需要模拟私有(private)方法才能正确测试您的类——这就是代码味道。您应该重构您的代码并将内部私有(private)类作为一个接口(interface),这样您就可以模拟它。

如果您确实找到了一种在当前状态下对其进行模拟的方法,它很可能不会真正为您提供经过更好测试的系统 - 但是它会给您带来难以维护的脆弱测试。

关于c# - 如何模拟私有(private)静态内部类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28982631/

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