いくつかのロギングについて単体テストを行っています
私のコード例の MyLoggingMethod (拡張メソッド) の下で、log.InfoFormat を多数のパラメーターで呼び出す必要があります。渡されるパラメーターの数や内容は気にしません。最初のパラメーターからログに記録されたものを確認したいだけです。
私は It.IsAnyLoadOfParameters を作成しました - しかし、それは私が達成しようとしていることです!
var logMock = new Mock<ILog>();
var log = logMock.Object;
log.MyLoggingMethod(new Monkey());
logMock.Verify(moqLog => moqLog.InfoFormat(It.Is<string>(x => x.Contains("Blah blah blah")), It.IsAnyLoadOfParameters));
log.MyLoggingMethod内にあるものの種類は次のようになります
log.InfoFormat("Blah blah blah {0} {1} {2} {3}", 1, "something", "blah", "four");
多くの It.IsAny を配置できることはわかっていますが、可能であればそれを避けたいと考えています。最初のものをチェックして、何かがあることを確認したいだけです。