繁体   English   中英

你如何用readonly属性模拟课程?

[英]How do you mock class with readonly property?

Moq中任何有readonly修饰符的类的想法:

Class myClass
{
   private  int id;
   public int Id{ get {return id;}}

  public myClass(int id)
  { this.id  = id }
}

我试图模仿这个对象:

var myMock= new Mock<myClass>();
myMock.SetupGet(m => m.ID).Return(555);

它给我的错误:

System.ArgumentException:不可覆盖的成员m => m.ID上的无效设置。

任何想法?

问题不在于它是readonly,而是它不是虚拟的。

我所知道的唯一一个模拟引擎允许在类和密封类上更改非虚方法是Typemock。

大多数其他模拟框架在接口上工作得更好,如果接口不可用,被模拟的成员需要是虚拟的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM