Вопросы о TDD или модульном тестировании в ASP.NET MVC - PullRequest
3 голосов
/ 07 апреля 2010

Я искал, как выполнить модульное тестирование, и обнаружил, что это довольно просто, но я хочу знать, что в приложении asp.net mvc то, что ДЕЙСТВИТЕЛЬНО важно проверять и какие методы вы ребята используете? Я просто не могу найти четкий ответ о том, ЧТО ДЕЙСТВИТЕЛЬНО ИСПЫТАТЬ при программировании модульных тестов. Я просто не хочу делать ненужные тесты и терять время на разработку, выполняя тесты с избыточным количеством ресурсов.

Ответы [ 4 ]

5 голосов
/ 07 апреля 2010

Вам следует протестировать как можно больше вашего приложения.

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

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

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

Полезно дополнять модульные тесты другими типами тестов, но хороший набор модульных тестов предлагает отличный набор регрессионных тестов.

4 голосов
/ 07 апреля 2010

Рон Джеффрис говорит: " Проверьте все, что может сломаться ."

Кто-то еще - я думаю, что это был Кент Бек, но я не могу найти ссылку - говорит: " Только тестируйте код, который вы хотите работать. "

Любая из этих стратегий довольно хорошая.

1 голос
/ 07 апреля 2010

Я на самом деле не думаю, что что-то нужно проверять в MVC. Я думаю, что вся ваша бизнес-логика, правила и т. Д. Нуждаются в тестировании, кроме Views и Controllers?

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

Контроллеры должны действительно получать данные только из представления и передавать данные в него, так что ...

Что касается представлений, что за тестирование может быть там сделано, кроме как открыть представление и посмотреть, что оно делает?

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

0 голосов
/ 07 апреля 2010

Модульное тестирование хорошо для тестирования сервисов / моделей. Но когда вам нужно протестировать функциональность приложения, лучшим выбором будут функциональные тесты (т.е. Selenium)

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