是否总是需要创建存根并将其作为参数传递给方法,即使我可以实例化传递给方法的对象而没有任何问题。
前任。我想在下面测试这个方法,它接受一个 TargetDataRanger 对象作为参数。我应该 a.) 将其存根并将其传递 b.) 打破依赖关系并将其放在接口后面,然后将其存根并将其传递给 c.) 实例化它并将其作为具体对象传递给方法。
在下面的这种情况下,我可以不使用具体对象,但这样做是否明智,它是否违反了一些测试规则或什么?
public virtual Dictionary<DateTime, DateTime> ResolveDates(ISeries comparisonSeries, TargetDateRanger sourceRanger)
{
Dictionary<DateTime, DateTime> dates = new Dictionary<DateTime, DateTime>();
foreach (DateTime keyDate in sourceRanger.ValidDates)
dates.Add(keyDate, this.ResolveDate(comparisonSeries, keyDate));
return dates;
}