Mark为相关的question提供了优雅的答案。
我的班级有一个只读属性:
public class myclass
{
...
public virtual string Devicelocation => Message.Message.Items[0].ToString();
...
public someMethod()
{
if(Devicelocation=="YourMom")
{
//dostuff
}
else
{
//dootherstuff
}
}
}
我想执行 someMethod(),假设Devicelocation等同于什么。
如何在Devicelocation中模拟或注入值?
答案 0 :(得分:1)
您可以像这样设置 Devicelocation :
var stub = new Mock<myclass>();
stub.SetupGet(x => x.Devicelocation).Returns("YourMom");
stub.Object.Devicelocation will now return "YourMom".
stub.Object.someMethod();