【发布时间】:2014-02-27 21:45:29
【问题描述】:
假设我有以下设置
public interface IClass1
{
int Result(int val);
}
public interface IClass2
{
int Validate(int val);
}
然后我们有一个类实现这些接口之一并将另一个作为构造函数中的参数。
public class Class1 : IClass1
{
private Class2 class2;
public Class1(IClass2 class2)
{
this.class2 = class2;
}
public int Result(int val)
{
return class2.Validate(val);
}
}
如果我随后为 Class1 的 Result 方法创建单元测试,我是否还应该通过注入 Class2 的实例在同一个单元测试中测试 Class2 的 Validate 方法,还是应该单独测试?如果我也以这种方式在同一测试中测试 Validate 方法,我是否在进行集成测试?
现在我创建了一个 Class2 的存根,它返回 Class2.Validate 的预设值,然后检查在单元测试 Class1.Return 时是否调用了 Validate 方法。
我这样做对吗?
【问题讨论】:
标签: c# unit-testing