【发布时间】:2012-07-26 16:23:06
【问题描述】:
我有课
public interface IMyInterface
{
string MethodA();
void MethodB();
}
public class MyClass : IMyInterface
{
public string MethodA()
{
// Do something important
}
public void MethodB()
{
string value = MethodA();
// Do something important
}
}
我想对 MethodB 进行单元测试,但我无法思考如何在使用 Moq 调用 MethodB 的同时模拟 MethodA。 Moq 模拟的是界面,而不是类,所以我不能只调用mock.Object.MethodB(),对吧?
这可能吗?如果有,怎么做?
【问题讨论】:
-
注解:实际使用Moq可以模拟类,但是对类有一些要求。类不能被密封。并且被模拟的方法必须标记为虚拟的。也不能是静态方法。
标签: c# .net unit-testing moq