Можем ли мы выполнить модульный тест View ('V') MVC? - PullRequest
8 голосов
/ 17 июня 2009

Дубликат: Модульное тестирование представлений?

Есть ли способ модульного тестирования View? Я уверен, что мы можем протестировать Model & Controller, но не знаете, как выполнить модульное тестирование View?

Стоит ли тестировать View?

Ответы [ 5 ]

9 голосов
/ 17 июня 2009

Вы можете включить компиляцию представлений MVC . Это очень помогает. В противном случае, я не думаю, что это того стоит. В конце концов, есть только две вещи, которые вас интересуют. Компилирует ли view компилятор и получают ли вы какие-либо исключения (null, исключения за пределами границ или аналогичные)?

Некоторые люди утверждают, что вы не должны включать любую логику в поле зрения. Пишите помощники для чего угодно. В этом случае компиляция - это почти все, что вам нужно.

Мы решили инвестировать в тестирование WatiN. Он проверяет представления и одновременно тестирует все приложение. Имеет несколько хороших помощников, но требует постоянного сопровождения.

7 голосов
/ 17 июня 2009

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

3 голосов
/ 17 июня 2009

Я не вижу смысла в модульном тестировании представлений, так как они не содержат много логики. Однако вы можете провести интеграционное тестирование / тестирование пользовательского интерфейса с помощью такого инструмента, как WatiN .

.

Пример теста, написанного на WatiN:

[Test]
public void SearchForWatiNOnGoogle()
{
   using (IE ie = new IE("http://www.google.com"))
   {
      ie.TextField(Find.ByName("q")).TypeText("WatiN");
      ie.Button(Find.ByName("btnG")).Click();

      Assert.IsTrue(ie.ContainsText("WatiN"));
  }
}

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

3 голосов
/ 17 июня 2009

Из того, что я прочитал (в Pro ASP.NET MVC Framework Стивена Сандерсона), представления не считаются заслуживающими тестирования. Виды ASP.NET MVC могут быть созданы с использованием различных механизмов, например, облегченный ASPX по умолчанию или, например, http://www.stringtemplate.org/. Для вывода ASPX вы можете запустить какой-нибудь инструмент проверки синтаксиса HTML, а для других механизмов представления тот факт, что представления успешно компилируются, должен быть достаточно хорошим тестом;)

0 голосов
/ 08 февраля 2018

Для тех, кто не видит значения в тестовых представлениях .... Как вы можете быть уверены, что представление имеет правильные атрибуты для элементов или что оно связано правильно?

Многие отвечают «на более высоком уровне» (например, запуск сайта и использование таких инструментов, как селен или эквивалент).

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

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