public void TestLoggingIntercept() { const string methodName = "TestLoggedMethod"; var loggingService = new TestLoggingService(); var loggingAspect = new LoggingAspect(loggingService); var mockInvocation = new Mock<IInvocation>(); mockInvocation.Setup(inv => inv.Method.Name).Returns(methodName); loggingAspect.Intercept(mockInvocation.Object); loggingService.Count.Should().Be(2); loggingService[0].Should().Be(methodName + " started"); loggingService[1].Should().Be(methodName + " completed"); }
public void TestLoggingInterceptMocks() { const string methodName = "TestLoggedMethod"; var mockLoggingService = new Mock<ILoggingService>(); mockLoggingService.Setup(ls => ls.Log(It.IsAny<string>())); var loggingService = mockLoggingService.Object; var loggingAspect = new LoggingAspect(loggingService); var mockInvocation = new Mock<IInvocation>(); mockInvocation.Setup(inv => inv.Method.Name).Returns(methodName); loggingAspect.Intercept(mockInvocation.Object); mockLoggingService.Verify(ls => ls.Log(methodName + " started")); mockLoggingService.Verify(ls => ls.Log(methodName + " completed")); }