Подтвердить что ты не робот

Каков наилучший способ проведения модульного тестирования для веб-страниц ASP.NET 2.0?

Любые предложения? Использование Visual Studio в С#.

Существуют ли какие-либо конкретные инструменты для использования или методы для этого?

Обновление:

Извините, я должен был быть более конкретным. Я использую ASP.Net 2.0 и больше ищут инструмент, например jUnit для Java. Я взглянул на NUnit и NUnitAsp, и это выглядит очень многообещающе. И я даже не знал, что Visual Studio Pro имеет набор для тестирования, поэтому я рассмотрю все эти параметры (я только начал использовать Visual Studio/Asp.net/С# этим летом).

4b9b3361

Ответ 1

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

Допущения

  • Вы используете ASP.NET, а не простой ASP
  • Вы действительно не хотите тестировать свои веб-страницы, но логика позади них. Единичное тестирование фактических страниц .ASPX довольно болезненно, но для этого есть рамки. NUnitAsp является одним из них.

Первое, что нужно сделать, это организовать (или спланировать) ваш код, чтобы он мог быть протестирован. Два наиболее популярных шаблона проектирования для этого в то время, похоже, MVP и MVC. Оба отделяют логику приложения от представления , чтобы вы могли протестировать логику, не видя на ней вид (веб-страницы).

Эффект будет MVP или MVC. Преимущество MVC состоит в том, что каркас Microsoft почти готов к работе.

После того, как вы выбрали шаблон структуры, который поощряет тестируемость, вам нужно использовать инструмент тестирования единиц. NUnit является хорошей отправной точкой. Visual Studio Professional имеет набор для тестирования, построенный им, но NUnit + TestDrive.NET также работает в среде IDE.

Такой выстрел из дробовика. Надеюсь, что если он ударит. В Pragmatic Bookshelf есть хорошая книга, посвященная теме.

Ответ 2

В Polymorphic Podcast была серия screencast год назад, которая сделала довольно хорошее вступительное вступительное описание реализации MVP в ASP.NET. Реализованные таким образом, модульные тесты попадают на место гораздо более естественным образом.

http://polymorphicpodcast.com/shows/mv-patterns/

Ответ 3

Эти структуры полезны для тестирования интеграции, но они не могут обеспечить модульное тестирование, то есть тестирование изолированного представления от настойчивости, бизнес-логики и т.д.

Для модульного тестирования Asp.Net Webforms, а также MVC вы можете использовать Ivonna. Например, вы можете издеваться над своим доступом к базе данных и убедиться, что измеченные записи отображаются в datagrid. Или вы можете издеваться над провайдером членства и протестировать вошедший в систему сценарий без необходимости перехода на страницу входа и ввода ваших учетных данных, как при тестировании интеграции.

Ответ 4

WatiN - лучшее, что я нашел. Он интегрируется в модульное тестирование Visual Studio или nunit, и вы можете делать практически все, что вам нужно, в браузере (нажмите ссылки, отправьте формы, найдите текст/изображения и т.д.), А также напишите в .net, чтобы вам не нужно чтобы рубин был установлен (как вы делаете для watir, что является удивительным инструментом, тем не менее)

Ответ 6

Взгляните на http://selenium.openqa.org/, он предлагает хороший автоматизированный способ создания модульных тестов в браузере. есть хороший плагин firefox для записи тестов и может использовать практически любую инфраструктуру модульного тестирования. У нас была презентация/демонстрация на нашем местном собрании пользователей в прошлом месяце, и это выглядело потрясающе.

Ответ 7

Лучше всего отделять логику модели от презентации и тщательно тестировать модель с помощью NUnit или аналогичного. Тестирование взаимодействия пользователей с веб-страницей может быть затруднительным.

Если вы действительно хотите unit test взаимодействие пользователей с веб-страницей, некоторые из таких инструментов, таких как waitn, выглядят хорошо, добавление к тому, что я слышал, Selenium