好吧,假设我有一个像下面这样的课程......
public class Foo : IFoo
{
public string Bar
{
get { ... }
}
public void Initialize()
{
...
}
}
...正如你所见,它实现了一个接口,所以我可以模拟它。现在,在我的单元测试中,我正在构建这样的模拟......
var mock = new Mock<IFoo>();
mock.SetupProperty(p => p.Bar).SetReturnsDefault("Some static value here.");
...但是,当测试运行时,我收到以下错误...
System.ArgumentException:属性 IFoo.Bar 是只读的。参数名称:表达式
所以,三个问题:
- 我究竟做错了什么?
- 我需要做什么?
- 你能解释一下我是怎么误解的
SetReturnsDefault
吗?
谢谢大家!