Какие аспекты мы можем охватить модульное тестирование ASP.NET MVC Views - PullRequest
6 голосов
/ 27 июня 2011

Недавно я наткнулся на эту замечательную статью Дэвида Эббо о модульном тестировании ASP.NET MVC видов бритвы с помощью нового инструмента Razor Generator.Но я задавал себе вопрос, для чего это лучше всего использовать.Конечно, мы можем передать модель и проверить, все ли свойства были заполнены в соответствии с HTML.

Я новичок в этом бизнес-модульном тестировании, поэтому мне нужно разобраться, что именно следует тестировать в модульном режиме.Предложения ??

1 Ответ

6 голосов
/ 27 июня 2011

Мне интересно то же самое. Я могу придумать несколько основных вещей, которые нужно проверить, например:

  • HTML верен / правильно сформирован
  • Заголовок страницы ( /

    ) соответствует заголовку модели

  • На странице появляется тело модели
  • Правильный CSS / Javascript включен
  • Важные ссылки отображаются правильно (просмотр / покупка / дополнительная информация)
  • Производительность (если у вас лениво загруженные модели, могут быть проблемы с производительностью, которые вы можете заметить только при перечислении кода в представлениях / доступе к данным)

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

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

Предыдущий опыт научил меня тому, что поддержание тестов в отношении постоянно меняющегося пользовательского интерфейса - отстой (и, если он меняется не часто, тесты не принесут большой пользы). В моей последней компании мы потратили так много времени, пытаясь исправить тесты, которые были испорчены при обновлении приложения, мы не могли добавить новые тесты (хотя это было частично, из-за (дурацкого, но дорогого) программного обеспечения, которое мы использовали - Mercury QuickTest). Тесты, написанные на C #, вероятно, были бы более удобными для сопровождения, но вам все равно нужно реально взвесить работу по сопровождению и выгоду, которую вы получите от тестов.

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