public async Task Blah(HttpStatusCode httpStatusCode, string expectedLoggedMessage)
        {
            // Arrange
            var actualLoggedMessage = string.Empty;
            var actualLoggedLevel   = LogLevel.None;

            #region ActionContext setup

            var configurableLogger = new Mock <ILogger <HttpStatusViewResult> >();
            configurableLogger
            .Setup(
                x => x.Log(
                    It.IsAny <LogLevel>(),
                    It.IsAny <EventId>(),
                    It.IsAny <object>(),
                    It.IsAny <Exception>(),
                    It.IsAny <Func <object, Exception, string> >()))
            .Callback(
                (LogLevel logLevel,
                 EventId eventId,
                 object message,
                 Exception exception,
                 Func <object, Exception, string> formatter) =>
            {
                actualLoggedLevel = logLevel;             // LogLevel.Error
                // EventId myEventId = eventId;
                actualLoggedMessage = message.ToString(); //
                // Exception myException = exception; // System.ArgumentNullException
                // loggedExceptionMessage = exception.Message;
                // Func<object, Exception, string> myFormatter = formatter;
            });

            // var configurableServiceProvider = new Mock<ISupportRequiredService>();
            var configurableServiceProvider = new Mock <IServiceProvider>();
            configurableServiceProvider
            .Setup(x => x.GetRequiredService(It.IsAny <Type>()))
            .Returns(configurableLogger.Object);

            var httpContext = new DefaultHttpContext();
            httpContext.RequestServices = configurableServiceProvider.Object;

            var actionContext = new ActionContext
            {
                ActionDescriptor = new ActionDescriptor(), HttpContext = httpContext, RouteData = new RouteData()
            };

            #endregion

            var _httpStatusViewResult = new HttpStatusViewResult(httpStatusCode);

            // Act
            await _httpStatusViewResult.ExecuteResultAsync(actionContext);

            // Assert
            Assert.AreEqual(LogLevel.Error, actualLoggedLevel);
            Assert.AreEqual(expectedLoggedMessage, actualLoggedMessage);
        }