Какие-либо предложения? Использование Visual Studio в C #.
Существуют ли какие-либо конкретные инструменты для использования или методы для этого?
Обновить:
Извините, я должен был быть более конкретным. Я использую ASP.Net 2.0 и больше искал такой инструмент, как jUnit для Java. Я взглянул на NUnit и NUnitAsp, и это выглядит очень многообещающе. И я даже не знал, что в Visual Studio Pro есть набор для тестирования, поэтому я рассмотрю все эти варианты (я только начал использовать Visual Studio / Asp.net / C # этим летом).
Мальчик, это довольно общий вопрос. Я сделаю все возможное, но будь готов увидеть меня промахнуться на милю.
Предположения
- Вы используете ASP.NET, а не обычный ASP
- Вы действительно не хотите тестировать свои веб-страницы, но логика, стоящая за ними. Модульное тестирование реальных .ASPX-страниц довольно болезненно, но для этого есть рамки. NUnitAsp один.
Первое, что нужно сделать, это организовать (или спланировать) свой код так, чтобы он мог быть протестирован. Два наиболее популярных шаблона проектирования для этого в то время, кажется, MVP и MVC. И то, и другое отделяет логику приложения от представления, чтобы можно было проверить логику без вмешательства представления (веб-страниц).
Либо MVP, либо MVC будут эффективными. Преимущество MVC заключается в том, что у Microsoft практически готов к работе фреймворк .
После того как вы выбрали шаблон структуры, который поощряет тестируемость, вам необходимо использовать инструмент модульного тестирования. NUnit - хорошая отправная точка. Visual Studio Professional имеет встроенный пакет тестирования , но NUnit + TestDrive.NET также работает в среде IDE.
Это своего рода взрыв информации. Я надеюсь, что некоторые, если это ударит. У Прагматической Книжной Полки есть хорошая книга, покрывающая тему .
Примерно год назад была серия скринкастов на Полиморфном Подкасте, в которой было сделано довольно хорошее введение в реализацию MVP в ASP.NET. Реализованные таким образом, модульные тесты становятся более естественными.
NUnit это путь для вас. Вы можете найти несколько ссылок здесь:
Взгляните на http://selenium.openqa.org/, он предлагает хороший автоматизированный способ встраивания модульных тестов в браузер. Есть хороший плагин Firefox для записи тестов и может использовать практически любой фреймворк для юнит-тестирования. В прошлом месяце мы провели презентацию / демонстрацию на собрании местной группы пользователей, и это выглядело потрясающе.
WatiN - лучшее, что я нашел. Он интегрируется в модульное тестирование Visual Studio или nunit, и вы можете делать практически все, что вам нужно в браузере (щелкать ссылки, отправлять формы, искать текст / изображения и т. Д.), Плюс он написан на .net, поэтому вам не нужно установить ruby (как вы делаете для watir, который, тем не менее, является отличным инструментом)
Эти инфраструктуры полезны для интеграционного тестирования, но они не могут обеспечить модульное тестирование, то есть тестирование View изолированно от персистентности, бизнес-логики, чего угодно.
Для модульного тестирования Asp.Net Webforms, а также MVC вы можете использовать Ivonna . Например, вы можете смоделировать доступ к вашей базе данных и убедиться, что проверенные записи отображаются в сетке данных. Или вы можете издеваться над провайдером членства и тестировать сценарий входа в систему, не переходя на страницу входа и не вводя свои учетные данные, как при интеграционном тестировании.
Лучше всего отделить логику модели от презентации и тщательно протестировать модель с помощью NUnit или аналогичного. Тестирование взаимодействия пользователей с веб-страницей может быть сложным.
Если вы действительно хотите провести модульное тестирование взаимодействия пользователей с веб-страницей, некоторые из предоставляемых инструментов, таких как waitn, кажутся хорошими, в дополнение к тому, о чем я слышал, это Selenium.