クラス「ClassB」に依存するクラス「ClassA」があるとします(ClassAのコンストラクターに注入されます)。ClassA を分離してテストできるように、ClassB をモックしたいと考えています。どちらのクラスも内部です。
私が間違っている場合は修正してください。ただし、Moq はクラスがパブリックであり、パラメーターのないパブリック コンストラクターがあり、モックされるメソッドがpublic virtual
. これらのクラスを公開したくありません。Moq に何か足りないものがありますか、それとも私がやりたいことに適していないだけですか?
ClassB が実装するインターフェイス (「IClassB」など) を作成し、それを ClassA に挿入して、代わりにインターフェイスをモックできると思います。ClassB はまだ内部にすることができます (ただし、インターフェイス メソッドはパブリックにする必要があることは認識しています)。これは機能しますが、単体テストのモックをサポートすることのみを目的とした多くのインターフェイスを作成することに不安を感じています。考え?