Тестирование в ASP.net MVC Beta 1
Я провожу юнит-тест для контроллера, и вот мой код.
public void DocumentController_IndexMethod_ShouldReturn_Documents()
{
DocumentsController c = new DocumentsController(_repository);
ViewResult result = (ViewResult)c.Index("1");
DocumentsController.DocumentsData data = (DocumentsController.DocumentsData)result.ViewData;
Assert.IsNotNull(data.Documents);
Assert.IsTrue(data.Documents.Count() > 0);
Assert.IsNotNull(result);
}
Я в основном слежу за приложением Роба Конери на витрине asp.net и понял, что не могу использовать метод RenderView. Как показано, я попробовал метод ViewResult, чтобы создать экземпляр представления. Я получаю эту ошибку: Ошибка 1 Не удается преобразовать тип "System.Web.Mvc.ViewDataDictionary" в "HomeOwners.Controllers.DocumentsController.DocumentsData" C:\Documents and Settings\drmarshall\ Мои документы \Visual Studio 2008\Projects\HomeOwners\HomeOwners.Tests\DocumentsControllerTests.cs 61 54 HomeOwners.Tests
Я использую правильный метод замены или я что-то упустил?
Я понял.
[TestMethod]
public void DocumentController_IndexMethod_ShouldReturn_Documents()
{
DocumentsController c = new DocumentsController(_repository);
ViewResult result = c.Index("1") as ViewResult;
ViewDataDictionary dictionary = result.ViewData;
DocumentsController.DocumentsData data = (DocumentsController.DocumentsData)dictionary["Documents"];
Assert.IsNotNull(data.Documents);
Assert.IsTrue(data.Documents.Count() > 0);
Assert.IsNotNull(result);
}
1 ответ
[TestMethod] public void DocumentController_IndexMethod_ShouldReturn_Documents() { DocumentsController c = new DocumentsController(_repository);
ViewResult result = c.Index("1") as ViewResult;
ViewDataDictionary dictionary = result.ViewData;
DocumentsController.DocumentsData data = (DocumentsController.DocumentsData)dictionary["Documents"];
Assert.IsNotNull(data.Documents);
Assert.IsTrue(data.Documents.Count() > 0);
Assert.IsNotNull(result);
}