次のようなクラスがあるとします。
internal class SomeClass
{
IDependency _someDependency;
...
internal string SomeFunctionality_MakesUseofIDependency()
{
...
}
}
そして、関連しているが、その目的を達成するために別の依存関係を利用する機能を追加したいと考えています。おそらく、次のようなものです。
internal class SomeClass
{
IDependency _someDependency;
IDependency2 _someDependency2;
...
internal string SomeFunctionality_MakesUseofIDependency()
{
...
}
internal string OtherFunctionality_MakesUseOfIDependency2()
{
...
}
}
この新しい機能の単体テストを作成する (または既存の機能の単体テストを更新する) と、必要のない依存関係に null を渡しながら、SomeClass (SUT) の新しいインスタンスを作成していることに気付きます。私がテストしようとしている特定の機能について。
これは私には悪臭のように思えますが、私がこの道をたどる理由は、導入する新しい機能の各部分に対して新しいクラスを作成していることに気付いたからです。これも悪いことのように思えたので、同様の機能をグループ化する試みを始めました。
私の質問: クラスのすべての依存関係は、そのすべての機能によって消費されるべきですか?