Asp.Net MVC Как проверить, что представление отображается - PullRequest
5 голосов
/ 31 мая 2010

Привет там

Мне было интересно, есть ли лучший способ тестирования представления, представленного в MVC.

Я подумал, что, возможно, мне следует преобразовать представление в строку, но, возможно, существуют более простые методы?

В основном то, что я хочу знать, если представление для данного действия отображено без ошибок Я уже тестирую модель представления, но я хочу видеть, что рендеринг представления дает правильное ViewData.Model работает

Ответы [ 2 ]

4 голосов
/ 01 июня 2010

Используйте библиотеку MvcContrib TestHelpers для подтверждения того, что конкретное представление возвращается из вашего действия:

var sampleController = new SampleController();
sampleController.New().AssertViewRendered().ForView("New").WithViewData<SomeModel>();

Чтобы сделать утверждения, что вы возвращаете правильные данные в представление, вытащите модель из ActionResult:

var result = (ViewResult)sampleController.New();
((SomeModel)result.ViewData.Model).SomeProperty.ShouldNotBeNull();

Это так далеко, как должно пройти ваше юнит-тестирование.

Для сквозного автоматизированного функционального тестирования / тестирования графического интерфейса вам может потребоваться использовать такой инструмент, как Selenium .

0 голосов
/ 17 января 2014

Вы можете включить компиляцию представлений для вашего проекта. Таким образом, проект не будет компилироваться, если вы не исправите проблемы. Отредактируйте эту строку в файле .csproj:

<MvcBuildViews>false</MvcBuildViews> с использованием true вместо false

I вы также можете использовать ELMAH (установите его в NuGet) и получать подробные сообщения об ошибках по электронной почте (включая YSOD).

Источник

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