Вопрос по webforms, unit-testing, asp.net – Добавление модульного тестирования в существующее приложение веб-форм asp.net

5

У меня есть приложение asp.net webforms, в которое я хотел бы добавить модульное тестирование, но не знаю точно, как это сделать.

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

Какие методы я должен тестировать?

Как мне обращаться с базой данных и тестовыми данными?

Есть ли какие-либо инструменты, которые могут помочь в этом?

Ваш Ответ

4   ответа
1

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

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

1

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

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

0

я тоже нахожусь в поиске способа тестирования приложений веб-форм ASP.NET. Для частей модели (доступ к данным и т. Д.) Я использую NUnit, локальный sql express db, и написал код для создания схемы (из файла .sql, который мы регистрируем) до запуска всех тестов.

Между тестами я использую NUnitDataRollback расширение для отката любых изменений БД после каждого запуска.

Я до сих пор не знаю хорошего способа проверить логику на страницах, хотя это похоже на Rails & apos; функциональные тесты. С точки зрения охвата, это разрушительно. Вы можете внедрить много логики в свои модели, но в вашем коде всегда есть код, который важен, может сломаться, и вы хотели бы пройти модульное тестирование.

5

What is your motivation for adding unit tests?

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

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

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

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