我想问一个很困扰我的问题...
如何模拟 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/