現在、次のコードを使用しています。
public class MyProvider
{
public MyProvider()
{
}
public void Fetch()
{
using (PopClient popClient = new PopClient())
{
....
}
}
}
Fetch メソッドを単体テストできるようにする必要があり、PopClient をモックできないという事実のために、PopClient を呼び出すインターフェイスとラッパー クラスを作成しました。私の更新されたコードは次のようになります。
public class MyProvider
{
private readonly IPopClient popClient;
public MyProvider(IPopClient popClient)
{
this.popClient = popClient;
}
public void Fetch()
{
using (var pop3 = popClient)
{
....
}
}
}
私は依存性注入に Ninject を使用していますが、Ninject はすでに PopClient のインスタンスを作成してコンストラクターに注入しているため、更新されたコードで using ステートメントがどのような影響を与えるかはよくわかりません。
using ステートメントは pop3 オブジェクトを破棄し、popClient オブジェクトをそのままにして、Ninject がそれを処理できるようにしますか、それとも using ステートメントが Ninject に干渉しますか?
この場合の適切なアプローチは何ですか?どんな洞察も非常に役に立ちます。