Как написать тестовый блок для обработчика Global Exception с использованием промежуточного программного обеспечения UseExceptionHandler - PullRequest
0 голосов
/ 28 января 2019

Я создал глобальный класс обработчика исключений, как показано ниже

public static void UseGlobalExceptionHandler(this IApplicationBuilder app, ILogger logger)
    {
        app.UseExceptionHandler(
            options => options.Run(
                async context =>
                {
                    var env = context.RequestServices.GetService<IHostingEnvironment>();
                    var general = context.RequestServices.GetService<General>();
                    var exHandlerFeature = context.Features.Get<IExceptionHandlerFeature>();
                    var exception = exHandlerFeature.Error;
                    LogException(logger, exception);
                    JObject response = CreateResponseMessage(exception,env,general);
                    if (!context.Response.HasStarted)
                    {
                        context.Response.Headers.Add("Access-Control-Allow-Credentials", new StringValues("true"));
                        context.Response.Headers.Add("Access-Control-Allow-Origin", new StringValues("*"));
                        context.Response.ContentType = "application/json";
                        context.Response.StatusCode = (int)HttpStatusCode.InternalServerError;
                        var json = JsonConvert.SerializeObject(response);
                        await context.Response.WriteAsync(json);
                    }         
                }
                )
            );
    }

Я новичок в написании примеров модульных тестов.Я хочу знать, как смоделировать промежуточное программное обеспечение для обработки исключений с упомянутыми параметрами / переменными в вышеупомянутом коде и написать тестовый пример для этого.

...