問題なくメソッドに渡されるオブジェクトをインスタンス化できる場合でも、スタブを作成してパラメーターとしてメソッドに渡すことが常に必要ですか。
元。以下でこのメソッドをテストしたいと思います。このメソッドは、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;
}