Тестирование ActionResult с моделью представления формы - PullRequest
0 голосов
/ 16 февраля 2010

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

Допустим, у меня есть контроллер с именем HomeController, и у него есть действие с именем Login.

Действие Мой логин принимает модель с именем LoginFormViewModel.

Внутри моего действия я могу написать код:

    public ActionResult Login(LoginFormViewModel loginFVM)
    {
        if (ModelState.IsValid)
        {
            return RedirectToAction("provider");
        }

        return View(loginFVM);
    }

Я хочу написать тест, который позволит мне пройти модель представления формы и определить, является ли она действительной или нет, и, таким образом, подтвердить результат.

EDIT

Я думаю, что, возможно, немного смутил проблему.

На моей модели у меня есть проверка, которая проверяет, что имя пользователя указано и пароль соответствует нашим требованиям.

Итак, я проверяю, была ли модель подтверждена нормально, и я подумал, что я сделаю это, выполнив View, поскольку именно это произойдет в реальной жизни.

Так что, по сути, я собираюсь создать модель, которая должна пройти тест ModelState.IsValid, и я хочу иметь возможность проверить это в моем тесте.

Если есть лучший способ, то я бы хотел его иметь.

1 Ответ

1 голос
/ 16 февраля 2010

Если вы тестируете, чтобы убедиться, что ваша модель правильно передана в представление:

[Test]
public void Login_Should_Set_Model()
{
    var controller = new HomeController();
    var model = CreateMockLoginFormViewModel();
    var result = controller.Login(model) as ViewResult;

    Assert.AreEqual(model, result.ViewData.Model);
}

UPDATE Поскольку OP заинтересован в проверке, проверяет ли MVC модель, я нашел эту ссылку, которая может помочь: Проверка проверки на основе DataNnotation в ASP.NET MVC

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...