【发布时间】:2014-10-12 18:12:29
【问题描述】:
目前我正在开发使用带有很多静态方法的 3-rd 方静态类型的应用程序。
例如
public static class A {
public static void M() {
//some actions
}
}
出于测试目的(提供创建动态模拟的可能性),我将此静态类型包装为带有实例方法的非静态类型。
public class WrappedA : InterfaceForTesingNeeds {
public void WrappedM() {
A.M();
}
}
public interface InterfaceForTesingNeeds {
void WrappedM();
}
现在我面临的问题是A 中的大量方法对于执行每个方法的手动包装来说太重要了。任何人都可以提供某种方式,我如何将静态类型“自动包装”为非静态?
【问题讨论】:
-
为什么要包装这些方法?正如你所说,有很多成本却没有任何好处。只用假货。另见stackoverflow.com/questions/26095050/…
标签: c# unit-testing mocking