【发布时间】:2012-09-02 15:05:23
【问题描述】:
我尝试了一些单元测试并遇到了使用类实例而不是接口的测试方法的问题。在那种情况下,我发现 MS Moles 可以帮助我。但似乎他们对类型转换情况并不友好。我没有找到任何信息,甚至没有发现如何处理这种情况的问题。示例:
public class ClassA
{
public int Number {get {return 10;}}
}
public class ClassB
{
public int Count1(ClassA arg) { return arg.Number; }
public int Count2(object arg) { return (arg as ClassA).Number; }
}
在测试时
var cl = new MolesUnitTesting.Moles.MClassA();
MolesUnitTesting.Moles.MClassA.AllInstances.NumberGet = t1 => 20;
第一个 Count 工作正常并返回 20,但在第二个中转换返回 Null。有没有办法在不使用接口和通常的模拟的情况下测试这种方法?如果有其他库可以帮助我,请提供它的名称。
【问题讨论】:
标签: c# unit-testing moles