Moqを使用したSystem.Drawing.Imageのモック
-
05-07-2019 - |
質問
Moqで画像をモックするにはどうすればよいですか?
コンストラクタはありません(常にファクトリメソッドから生成されます)。
基本的に私はこのようなことをしたい...
var image = new Mock<Image>();
image.Setup(i=>i.Save(someStream,ImageFormat.Jpeg);
var testableObject = new ObjectUnderTest(image.Object);
testableObject.MethodBeingTested();
image.VerifyAll();
解決
昨日、同様の質問に答えました。このスレッドは、静的シングルトンをモックする際に。
この動作をモックすることが絶対に必要な場合、禁止されているメソッドは、必要なメソッドを公開するインターフェイスを生成し、prodの具象クラス(効果的にImageクラスをラップ)で実装し、テスト用のインターフェイスをモックします。 / p>
それは過剰に聞こえますが、テスト可能なクラスと画像の間の相互作用をモック\検証する必要がある場合、それがそれを行う方法です。または、テスト可能なクラスにImageの実際のインスタンスを渡し、このインスタンスを期待される出力と比較することもできます[標準の単体テスト方法論]
所属していません StackOverflow