Что лучший способ состоит в том, чтобы сделать поблочное тестирование на ASP.NET 2,0 веб-страницы? [закрытый]

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

См. также: A хороший список лучших практик

Я бы добавил, очень важно, хорошо использовать модификатор final. Использование "окончательной" модификатор, когда это применимо в Java

Сводка:

  1. Используйте модификатор final для обеспечения хорошей инициализации.
  2. Избегайте возврата null в методы, например, при возврате пустых коллекций.
  3. Использовать аннотации @NotNull и @Nullable
  4. Быстрое завершение работы и использование утверждений, чтобы избежать распространения нулевых объектов через все приложение, когда они не должен быть пустым.
  5. Сначала используйте значения с известным объектом: if("knownObject".equals(unknownObject)
  6. Предпочитают valueOf() поверх toString ().
  7. Используйте null safe StringUtils StringUtils.isEmpty(null).

37
задан Bill the Lizard 28 June 2011 в 18:51
поделиться

7 ответов

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

Предположения

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

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

Или MVP или MVC будут эффективными. MVC имеет преимущество наличия платформы Microsoft почти готовый пойти .

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

Это - вид уничтожения ружья информации. Я надеюсь некоторые, если это совершает нападки. Прагматическая Книжная полка имеет хорошая книга, затрагивающая тему .

34
ответ дан Brad Tutterow 27 November 2019 в 04:53
поделиться

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

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

4
ответ дан 27 November 2019 в 04:53
поделиться

Был ряд экранной демонстрации приблизительно один год назад на Полиморфном Подкасте, который сделал довольно хорошую вводную пошаговую демонстрацию реализации MVP в ASP.NET. Реализованный этот путь, модульные тесты встают на свое место намного более естественно.

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

4
ответ дан Chris Farmer 27 November 2019 в 04:53
поделиться

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

2
ответ дан Joshua Turner 27 November 2019 в 04:53
поделиться

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

3
ответ дан Glenn Slaven 27 November 2019 в 04:53
поделиться
2
ответ дан radu florescu 27 November 2019 в 04:53
поделиться

Your best bet is separating the model logic from presentation and thoroughly unit testing the model with NUnit or similar. Testing the users interaction with the web page can be fiddly.

If you actually do want to unit test the users interaction with the web page some of the afformentioned tools such as waitn seem good, an addition to that which I've heard of is Selenium

2
ответ дан 27 November 2019 в 04:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: