Я пытаюсь подделать журнал вывода консоли с помощью TypeMock:
[Test]
public void Log_Error_LogsToStdErr()
{
var logger = SetupFakeLogger();
logger.Log( "text to log", true );
Isolate.Verify.WasCalledWithAnyArguments( () => logger.LogToFile( "" ) );
Isolate.Verify.WasCalledWithAnyArguments( () => Console.Error.WriteLine( "" ) );
}
private static WrapperLogger SetupFakeLogger()
{
Isolate.Fake.StaticMethods( typeof(Console), Members.ReturnRecursiveFakes );
Isolate.WhenCalled( () => Console.Error.WriteLine( "" ) ).IgnoreCall();
return Isolate.Fake.Instance<WrapperLogger>( Members.CallOriginal, ConstructorWillBe.Called, "dir", "file.log" );
}
Однако при втором утверждении я получаю следующее исключение (вызов Isolate.Verify для Console.Error.WriteLine сильно>):
TypeMock Verification: Method System.Environment.NewLine was expected but was not called
Это какой-то баг, или я что-то не так делаю?