Модульный тест веб-API для конечной точки PATCH

Я пытаюсь разработать конечную точку PATCH в своем веб-приложении API. В модели обновления у меня есть атрибуты для обязательных данных и некоторые пользовательские атрибуты. Поскольку я обнаружил, что проверка атрибута не выполняется должным образом в конечных точках PATCH, мне нужно было запустить проверку следующим способом

private void Validate(object model, Type type)
{
    var validator = Configuration.Services.GetBodyModelValidator();
    var metadataProvider = Configuration.Services.GetModelMetadataProvider();

    HttpActionContext actionContext = new HttpActionContext(
        ControllerContext, Request.GetActionDescriptor());

    if (!validator.Validate(model, type, metadataProvider, actionContext, String.Empty))
    {
        throw new HttpResponseException(Request.CreateErrorResponse(
            HttpStatusCode.BadRequest, actionContext.ModelState));
    }
}

Эта логика прекрасно работает для меня. Проблема в том, что, когда я пытаюсь написать модульный тест для конечной точки PATCH, тесты не выполняются, потому что Request.GetActionDescriptor() возвращает ноль. Может быть, мне нужно настроить мой контроллер по-другому. Есть идеи? Может быть, мне нужно как-то настроить объект запроса

0 ответов

Другие вопросы по тегам