Тестирование в ASP.net MVC Beta 1 - PullRequest
0 голосов
/ 04 февраля 2009

Я провожу юнит-тест для контроллера, и вот мой код.

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 Ответ

0 голосов
/ 04 февраля 2010

[TestMethod] public void DocumentController_IndexMethod_ShouldReturn_Documents () { DocumentsController c = новый 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);
}
...