![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| Экскалупатор |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1746 Регистрация: 1.4.2009 Где: г. Минск Репутация: 11 Всего: 24 |
всем привет. подскажите кто знает толковое руководство по написанию тестов в VS2008. нужна не теория, а именно описание что для чего и как писать, желательно с примерами на вроде:
"имеем такой класс/метод для того что бы его протестировать пишем следующий код, вот так передаем параметры, вот так получаем ответы..." т.е. для "чайников", так сказать с нуля... заранее спасибо. |
|||
|
||||
| Exai1e |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 908 Регистрация: 3.12.2006 Где: Moscow Репутация: 3 Всего: 30 |
Экскалупатор, например
http://habrahabr.ru/blogs/net/98062/ а вообще в гугле, довольно много инфы, как создавать тесты в студии и т.д. -------------------- "Решение зависит от выбранного геморроя" © Snowy "у нас как в армии - либо работает, либо так и задумано" |
|||
|
||||
| Экскалупатор |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1746 Регистрация: 1.4.2009 Где: г. Минск Репутация: 11 Всего: 24 |
Exai1e, спасибо, буду читать.
в гугле я всегда ищу в первую очередь, но не всегда получается найти. |
|||
|
||||
| Экскалупатор |
|
||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1746 Регистрация: 1.4.2009 Где: г. Минск Репутация: 11 Всего: 24 |
почитал по ссылке выше, вроде все понятно, но не понятным остался следующий вопрос: можно ли каким то образом создать коллекцию входных и выходных параметров, но так что бы при не выполнении теста было видно какой именно набор выдал неверный результат.
я для примера сделал такой метод:
и тест к нему:
естественно что я получаю ошибку деления на ноль, при чем ошибка получается в самом тесте а не в тестируемом методе. вопрос как написать тест, что бы можно было проверить те же наборы входных параметров. единственный вариант который у меня придумывается это просто писать все варианты по очереди, к примеру:
но такой вариант мне кажется крайне неудобным, не ужели нету чего то более удобного? Это сообщение отредактировал(а) Экскалупатор - 4.7.2010, 01:01 |
||||||
|
|||||||
| Экскалупатор |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1746 Регистрация: 1.4.2009 Где: г. Минск Репутация: 11 Всего: 24 |
разобрался с коллекциями, в принципе все оказалось довольно тривиально, можно использовать обычные массивы, списки и прочее(просто сразу думалось что тесты эти как то по другому работают).
в процессе возник другой вопрос: как тестировать приватные методы? |
|||
|
||||
| Exai1e |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 908 Регистрация: 3.12.2006 Где: Moscow Репутация: 3 Всего: 30 |
Экскалупатор, думаю что на уровне метода
-------------------- "Решение зависит от выбранного геморроя" © Snowy "у нас как в армии - либо работает, либо так и задумано" |
|||
|
||||
| Экскалупатор |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1746 Регистрация: 1.4.2009 Где: г. Минск Репутация: 11 Всего: 24 |
может быть, но дело в том что студия умеет это делать, она генерит какой то интересный код и тестирует приватные методы. к примеру если тот метод что я привел выше делать тест, то студия делает такой код:
и дальше в тесте
а вот как это все называется? и где про это прочесть... Это сообщение отредактировал(а) Экскалупатор - 4.7.2010, 10:41 |
||||
|
|||||
| jonie |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 22 Всего: 118 |
читать про TDD
-------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
| Mephisto |
|
|||
![]() Волкъ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1818 Регистрация: 27.8.2003 Где: Питер Репутация: 2 Всего: 34 |
Когда тестируешь какой-то класс, или взаимодействие интерфейсов сочетанием тестов, то необходимо разделять тестируемые методы:
1 метод: ожидает корректные данные. Грузишь в метод данные и проверяешь результат. остальные методы: исключительные ситуации. Т.е. сами методы загружают некорректные данные и в результате ожидаешь исключения вполне определенных типов. |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |