MSTest:C#单元测试moq框架的mock如何模拟静态方法和私有方法?
mock是基于接口的,私有方法并不在其测试用途之列。本身就没法在接口里面定义出私有方法。如果非要模拟,作为变通,可以采用桥接设计模式,在类里面定义内嵌类(以获得友元类的效果,C#本身不支持友元类),然后调用私有方法或者静态方法,再暴露成共有方法。你的moq框架去mock这个内嵌类型。
使用映射获取私有对象和静态对象,然后用SetValue设置