asp.net MVC ModelState является нулевым в моем модульном тесте. Зачем? - PullRequest
0 голосов
/ 04 марта 2010

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
    }
}

Я думаю, что я делаю что-то в корне неправильно, и я не знаю что. Может ли кто-нибудь указать мне правильное направление?

1 Ответ

0 голосов
/ 05 марта 2010

Спасибо за проверку, Дарин.

У меня были установлены версии MVC 1 RC и MVC 2 RC 2. Я удалил их обоих, установил MVC 1 и теперь все ведет себя как положено. Тест не проходит.

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