如何使用Shim上下文覆盖私有方法和只读属性。 喜欢用
public string FullName {
get {
return "First" + "Last";
}
}
还有任何要求实例化测试中的Component以执行Shim上下文结果。
由于
答案 0 :(得分:1)
这对你有用吗?
Class A {
public virtual string FullName {get {"First" + "Last",}}
}
ClassB : ClassA {
public override string FullName {get {"My new name";} }
}
相反,您也可以使用在ClassB
的构造函数中正确设置的私有后备字段。要覆盖私有方法是不可能的,只有受保护的,内部的或公共成员。
答案 1 :(得分:0)
通过填充上下文
访问readonly属性Fakes.ShimCustomer.AllInstances.FullNameGet = (cust) =>
{
return "Hello World";
};
从UnitTest到上面属性的任何调用都将输出为“Hello World”
感谢。