This post explains how to simplify testing logging functionality in .NET using the new FakeLogger feature available from .NET 8 upwards. It covers the challenges of mocking ILogger, the steps for setting up and using FakeLogger, and the benefits of combining it with FluentAssertions for clearer and more maintainable tests. The
Table of contents
Table of ContentsTutorial SetupHow to Test the Logging FunctionalityHow to Use FakeLoggerHow to Assert That Structured Log Arguments Are Passed CorrectlyHow to Verify That a Message Has Been Called at Any TimeFinal ThoughtsSort: