0
ILoggerにログインしたときにエラーが発生しました。ILogger.LogMessageのエラーを確認するには?
ILogger.LogMessage(Error, "Steps failed", System.Reflection.TargetParameterCountException: Parameter count mismatch.
at System.Reflection.RuntimeMethodInfo.InvokeArgumentsCheck(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
私のユニットテストで、同じエラーがスローされたかどうかを確認する必要があります。どうすればこれを実現できますか?ここで私がMockを使ってやろうとしていることがあります。
var expectedException = @""Steps failed", System.Reflection.TargetParameterCountException: Parameter count mismatch.
at System.Reflection.RuntimeMethodInfo.InvokeArgumentsCheck(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture);
_Mocklogger.Verify(
x =>
x.LogMessage(LogSeverity.Error, expectedException,
new System.Reflection.TargetParameterCountException(expectedException)), Times.Once);
ただし、これはエラーで失敗しました:
Moq.MockException :
Expected invocation on the mock once, but was 0 times: x => x.LogMessage(LogSeverity.Error, "Parameter count mismatch.