如何模拟基类的受保护成员

时间:2013-02-14 19:35:18

标签: c# unit-testing moq

为什么这样的事情不起作用:

public class BaseFoo{
   protected int FooField;
}

public class FooChild:BaseFoo{

}

var m = new Mock<FooChild>();

m.Protected().Setup<int>("FooField").Returns(1);

它说“会员FooChild.FooProp不存在”

2 个答案:

答案 0 :(得分:3)

哦..我明白了..它必须是一个属性而不是一个字段,它必须是protected virtual

答案 1 :(得分:0)

如果父类的任何变量受到保护,那么它可以在子类中访问,但不能在扩展或使用子类的类中访问它。