Microsoft.Extensions.Logging.Internal
名前空間、具体的にはFormattedLogValues
クラスを使用していた.Net core 2.1プロジェクトがあります。
現在.Netコア3に移行しています。FormattedLogValues
の移動先に関するドキュメントや、それに代わるものは見つかりませんでした。
名前空間 documentation も削除されます
任意のヒント?
以前の回答が指摘したように、It.IsAnyType
またはIt.IsValueType
を使用する必要があります。
したがって、セットアップは次のようになります。
mock.Setup(_ => _.Log(
It.IsNotNull<LogLevel>(),
It.IsNotNull<EventId>(),
It.IsAny<It.IsValueType>(),
It.IsNotNull<Exception>(),
(Func<It.IsValueType, Exception, string>)It.IsAny<object>());
Ps。 しないでください最後のパラメーターをキャストするのを忘れます。
メソッドに渡されたパラメーターもチェックする必要がある場合は、InvocationAction
を使用する必要があります。
mock.Callback(new InvocationAction((invocation) => {
Assert.AreEqual(level, invocation.Arguments[0]);
Assert.AreEqual(exception, invocation.Arguments[3]);
}));