Страницы

Поиск по вопросам

воскресенье, 5 января 2020 г.

TDD. Как начать?

#c_sharp #юнит_тесты #шаблоны_проектирования


Я новичок в программирование на C# и хочу освоить разработку программ через тестирование.
Читаю книги, форумы, смотрю видео, но везде пока то что я видел или читал идет показ
примера в начале, не доходя даже до полной реализации хотя бы одного класса. Глаза
видят, мозг вроде понимает, но руки не делаю). Не могу заставить себя не смотреть на
весь проект в целом. Подскажите может есть где доходчивое ПОЛНОЕ объяснение как разробатывать
через тестирование хотя бы на простом примере, например блога (User, Post, Comments)
с полной реализацией хоть одного класса. Просто понято что разделаем зависимости, создаем
api приложения но когда доходишь до конкретного примера где данные берутся из вне,
не понятно как это тестировать и нужно ли вообще.
Придумал себе простой пример:

1.Загрузить текстовой файл employee.txt (в котором находят 
   строки с информацией о сотрудниках 
   id~имя~фамилия~отчество).
2.Загрузить тектовой файл deparment.txt (в котором находят 
   строки с информацией в каком отделе
   какой сотрудник idEmployee~название
   отдела).
3.Распарсить строки файла employee.txt.
4.Распарсить строки файла deparment.txt.
5.Проверить в бд изменения и занести (новый сотрудник, поменялась фамилия 
   у существуещего, поменялся отдел у 
   сотрудника).
6.Изменения вывести в консоль.

Сижу туплю не могу понять с чего начать именно разрабатывая через тестирование?    


Ответы

Ответ 1



Мне когда-то очень помогла книга (практическое применение ТДД в проектах с примерами и советами - язык НЕ с#, но для понимания это неважно). Самое сложное было заставлять себя писать тесты перед кодом, а также смотреть на процесс разработки с другой стороны. Что касается тестирования, как такового, то для меня фаворитом среди книг является эта. Как правильно заметили в комментариях, для того, чтобы успешно применять модульное тестирование необходимо предварительно освоить выбранную технологию.

Ответ 2



Простой, понятный, интересный пример использования метода TDD (а не средств тестирования!), подробно и по шагам - http://www.slideshare.net/amritayan/test-driven-development-in-c Читал статьи, смотрел видео, но ничего лучше не нашел. Повторил все действия и сразу все стало на свои места. Это как езда на велосипеде. Нельзя прочитать книжку "Как ездить на велосипеде" и поехать. Надо сесть и поехать. И падать. Я до сих пор "падаю" (сбиваюсь на обычный стиль программирования). Но уже реже. Потом "держать равновесие" станет привычкой.

Комментариев нет:

Отправить комментарий