Сведения о вопросе

FromRussia

19:59, 29th August, 2020

Теги

Лучший способ модульного тестирования ASP.NET MVC методы действий, которые используют BindingHelperExtensions.UpdateFrom?

Просмотров: 345   Ответов: 3

При обработке сообщения формы у меня есть что-то вроде

    public ActionResult Insert()
    {
        Order order = new Order();
        BindingHelperExtensions.UpdateFrom(order, this.Request.Form);

        this.orderService.Save(order);

        return this.RedirectToAction("Details", new { id = order.ID });
    }

Я не использую явные параметры в методе, поскольку я ожидаю, что мне придется адаптироваться к переменному количеству полей и т. д. и метод с 20 + параметрами не является привлекательным.

Я полагаю, что мой единственный вариант здесь-это макет всего HttpRequest, эквивалентный тому, что сделал Роб Конери. Это лучшая практика? Трудно сказать, с рамками, которые так новы.

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

[SomeFilter]
public Insert(Contact contact)



  Сведения об ответе

COOL

15:11, 19th August, 2020

Теперь я использую ModelBinder , так что мой метод действий может выглядеть (в основном) так:

    public ActionResult Insert(Contact contact)
    {

        if (this.ViewData.ModelState.IsValid)
        {
            this.contactService.SaveContact(contact);

            return this.RedirectToAction("Details", new { id = contact.ID });
        }
        else
        {
            return this.RedirectToAction("Create");
        }
    }


  Сведения об ответе

darknet

05:28, 4th August, 2020

Оберните его в интерфейс и издевайтесь над ним.


  Сведения об ответе

JUST___

20:27, 17th August, 2020

Используйте NameValueDeserializer из http://www.codeplex.com/MVCContrib вместо UpdateFrom.


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться