TDD — Разработка через тестирования. Урок 4. Практикум

Автор Alla Bessonova
TDD — Разработка через тестирования. Урок 4. Практикум

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

Сюрпризов этот урок из курса практически. Он покажет как — это методика работает напрокат в этом не будет рассматриваться программный проект прокат фильмов которые целиком реализован с помощью методологии test-driven development перед тем как переходить к рассмотрению этого проекта. Давайте вспомним.

Из каких этапов состоит цикл разработки программного обеспечения методологии.

Пеппа создаем новый тест второе запускаем все тесты, что новый тест не выполняется третий пункт вносим изменения в код 4 запускаем все тесты убеждаемся, что все они успешно отрабатывать если нет возвращаемся пункт 3 нашего цифры и повторно вносим изменения в код. Если же все тесты успешно отрабатывают то переходим к пятому и проводим рефакторинг кода после рефакторинга повторяем наш цикл всё очень просто теперь когда мы вспомнили передам разработки по методологии можно переходить к реализации проекта прокат сильно рассмотрим, что эта программа должна делать программа рассчитывает и вводит отчёт об оплате услуг в магазине видеопроката программе сообщается какие фильмы в прокате клиентами и после этого программа рассчитывает сумму платежа исходя из продолжительности про кота и типа фильм также программа должна уметь сохранить отчет по клиентам файл на диске я программа поддерживает три типа фильма — это обычные детские и новинки в зависимости от типа фирма меняется цена проката фильма. Один день проката обычного фильма эволюция единицы детского одна единица и фильма с категорией новые три валютная единица, что нам потребуется для того чтобы создать такую программу. Наверное — это уметь посчитать сумму долга по отдельному прокат у каждой прокат должен иметь следующую информацию. Это количество дней проката и. Какой фильм был он должен тем самым — это вашему посчитать долг по отдельным прокату нужно умножить количество дней проката на стоимость одного дня. Вот с этого мы начнём то есть сперва мы напишем тест который сможет проверить правильность расчета долга по отдельному проката когда мы пишем тест на ещё несуществующие операцию мы должны предоставлять. Каким образом должен выглядеть интерфейс этой операции на этом шаге нужно представить идеально интерфейс интерфейс с которым было бы работать. Удобнее всего конечно же не все наши представления можно будет реализовать. Но в любом случае нужно именно наилучшего наилучшего возможного интерфейса. Давайте перейдем примером и рассмотрим первый тест который нам позволит проверить правильность работы операции расчёта нашей программы так я создал новый новое решение который которая добавил два проекта. Первый проект. Это от моей программы. Как называется видеоряд это, что у меня таких файлов и также есть проект видео rentaltss этот как будет уже наверное. Понятно содержать тесты которые будут тестировать мою программу видеоредактор создаю первый тест тест будет содержать интерфейс операцией создание и расчёта стоимости проката сперва конечно же нужно позаботиться о том чтобы на наших руках был набор фильмов поэтому сперва мастер-класса Movie. Понятное дело, что должен иметь свою цену за день проката и окрас цену дня про кота перейдём в качестве параметра конструктора класса море. Теперь у нас есть фильм цена проката которого составляет валютная единица теперь можно уже создавать и сам прокат прокат должен иметь информацию о фильме и он количество дней проката поэтому мы создаем. Максим Карпов Sorento I в качестве первого параметра конструктора мы. Передаем ссылку на фильм и в качестве 2 параметр конструктора мы перейдём количество. Теперь когда у нас есть уже прокат можно посчитать сумму долга за — это собака — это совсем просто для того чтобы посчитать сумму долга за прокат нужно умножить цену одного проката фильма на количество дней есть в итоге за такой прокат наш пользователь должен будет заплатить 12 griven неважно на шестнадцатой строке я пользуюсь статическим методом для того чтобы проверить, что сумма долго будет именно 12 долларов, а для того чтобы узнать сумму долга за прокат я использую. Пользуясь методом оценки объекта принтер стоит мы уже создали если мы попробуем запустить там увидим, что он даже не компилируется. И — это не странно потому как у нас нет не класса mobi. Давайте создадим эти классы для этого я воспользуюсь генерации Visual Studio. Я создаю новый тип который будет называться Movie — это будет вас этот вас будет находиться в проекте Video Rental и для. Я создам новый файл который будет называться всё хорошо. У меня уже созданную этого класса. Пока, что нет конструктор который принял одно значение типа. Именно поэтому опять-таки. Пользуясь Visual Studio. Я создаю конструктор для моего класса хорошо. Пока, что с классом или у нас нет никаких дальше с. Днём класс Rainbow создаем новый тип — это будет этот класс будет находиться файл в проекте видеоролик пятого класса также создаем конструктор хорошо. Пока, что наш тест также не скомпилировать. Почему Потому, что объекта нет. Поэтому с кем заглушку от момента его теперь наш минимально должен хотя бы компенсировать. Ну — это хорошо. Тогда попробуем запустить тест кейса Rental Flat я запускаю тест-кейса. Дентал, что есть в том, что он работает, но тест правда завершается неудачей.

0 комментариев
0

Читайте также