Я начинаю изучать модульные испытания в MVC4.Тестирование блока управления с подтверждением модели
Это мой контроллер.
public class AccountController : Controller
{
public ActionResult Register(User user)
{
if (ModelState.IsValid)
{
return View("RegistrationSuccessful");
}
return View("Register");
}
}
И это испытание.
public class AccountControllerTests
{
[TestMethod]
public void invalid_registration_details_should_show_registration_form_again()
{
var controller = new AccountController();
var user = new User();
user.Name = null;
var result = controller.Register(user) as ViewResult;
Assert.AreEqual("Register", result.ViewName);
}
}
И это модель.
public class User
{
[Required]
public string Name { get; set; }
}
Когда я называю controller.Register (пользователь) Я думаю, что модель связующий не приходит к картине, как я инстанцирование контроллеру самого, а не через рамку. Поэтому я думаю, что ModelState.IsValid будет истинным по умолчанию.
Как это проверить? Как можно моделировать валидацию в модульных тестах?
Вот еще один вариант. http://stackoverflow.com/questions/2167811/unit-testing-asp-net-dataannotations-validation – pwDev