2011-01-01 2 views
1

У меня возникли проблемы с пониманием того, как я могу эффективно и эффективно создавать издевательский модульный тест для простого действия контроллера, который создает экземпляр модели представления и передает ее в представление.Mocking действия контроллера в ASP.NET MVC2 с Rhino Mocks

public ActionResult Index() 
    { 
     IndexViewModel viewModel = new IndexViewModel(); 

     return View(viewModel); 
    } 

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

Я понимаю, конечно, что TDD говорит, что я должен сначала написать тест, а затем построить выше, но у меня проблемы с пониманием основ. Объяснение любого кода, который вы передадите, тоже будет отличным. Благодаря

ответ

1

Это лишь небольшой пример того, что вы могли бы сделать, чтобы проверить это:

[TestMethod] 
    public void IndexGetMethodReturnsIndexViewModel() 
    { 
     // Arrange 
     HomeController controller = new HomeController(); 

     // Act 
     ViewResult result = controller.Index() as ViewResult; 
     var viewModel = result.ViewData.Model as IndexViewModel; 

     // Assert 
     Assert.IsNotNull(viewModel); 
    } 

Таким образом, вы вызываете метод Index на контроллере, доступ к ViewModel и убедившись, что он имеет тип IndexViewModel и то вы утверждаете, что это не null.

Надеюсь, это поможет.

Смежные вопросы