ModelState всегда возвращает ноль в моих модульных тестах. Я надеялся, что кто-нибудь скажет мне, почему.
Имеется следующий контроллер:
public class TestController : Controller
{
public ViewResult Index()
{
return View();
}
}
Мой тест обнуляется для ModelState с этим тестом:
public void ModelState_Is_Not_Null()
{
TestController controller = new TestController();
var result = controller.Index();
// This test is failing:
Assert.IsNotNull(controller.ViewData.ModelState);
}
Если я изменю контроллер для возврата нового ViewResult (), я не получу ноль:
public class TestController : Controller
{
public ViewResult Index()
{
return new ViewResult();
}
}
Но ... IsValid () возвращает true, если не должно, если я делаю это следующим образом:
public class TestController : Controller
{
public ViewResult Index()
{
ModelState.AddModelError("Test", "This is an error");
return new ViewResult();
// I don't get null in the test for ModelState anymore, but IsValid()
// returns true when it shouldn't
}
}
Я думаю, что я делаю что-то в корне неправильно, и я не знаю что. Может ли кто-нибудь указать мне правильное направление?