【发布时间】:2012-10-09 12:32:58
【问题描述】:
我有一个看起来像这样的类:
public class MyClass
{
int myNum;
private MyClass() {}
public static MyClass CreateInstance()
{
MyClass a = new MyClass();
a.myNum=5;
return a;
}
public bool IsBigger(MyClass b)
{
return this.myNum > b.myNum;
}
}
然后,我想对其进行填充并想使用 IsBigger 方法,但默认情况下它返回 false。在这种情况下如何调用基本方法?
测试如下:
[TestMethod]
Public void test()
{
ShimMyClass firstShim = new ShimMyClass();
firstShim.myNumGet = () => { return 6; }
ShimMyClass secondShim = new ShimMyClass();
secondShim.myNumGet = () => { return 7; }
Assert.IsTrue(secondShim.Instance.IsBiggerThan(firstShim.Instance);
}
【问题讨论】:
-
显示如何调用 IsBigger 方法。你对基本方法是什么意思?我认为没有基本方法......
-
我比使用单元测试创建一个 shim 实例并将 myNum 设置为其他数字。比我调用 firstShimMyClass.Instance.IsBiggerThan(otherShimClass),但即使我没有实现它也会返回下降
标签: c# testing factory shim microsoft-fakes