概要 NUnitなどでUnitTestを書く場合に、インターフェース部分にモックを与えるためにMoqを使っている人は多いと思います。これの意外な弱点として、拡張メソッドをモック化することができません。すると、GenericHost(DI)の使い方次第では頻出となるIServiceProvider.GetRequiredService()などをモックにできず、テスト困難になる場合があります。一工夫してこれをモック化する方法を紹介します。 最初に結論まとめ 次のようなアダプタクラスを自作し、これを間に挟む(テスト対象クラスへDIで渡す)事で、実現できます。 internal class IServ…