Рубрики
Без рубрики

Как я изучаю TDD?

Это мое введение в TDD

Автор оригинала: Victor de la Cruz.

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

  • TDD поможет нам свести к минимуму ошибки в коде
  • TDD позволит нам соответствовать спецификациям заказчика
  • С помощью TDD мы пишем модульный и проверяемый код
  • С TDD мы сначала думаем о тестовых случаях, которые наш код должен обрабатывать

До того, как я узнал о TDD, я писал код, а затем писал тесты для проверки этого кода, но теперь я изменил это с помощью следующих шагов:

  • Напишите код без какой-либо реализации вообще
  • Напишите тестовые примеры
  • Запуск тестовых случаев (тестовые случаи завершатся неудачно)
  • Напишите реализацию для классов/методов (тестовые случаи должны пройти)
  • Рефакторинг кода (улучшение реализаций)

Для этого примера я возьму следующее репо с github тест-приложение

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

На следующем изображении мы видим последовательность, необходимую для создания нового клиента.

На следующем изображении мы видим последовательность, необходимую для создания нового клиента.

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

  1. Картограф клиентов
  2. Тест картографирования клиентов: Тестовые примеры, о которых я думаю, таковы: когда сущность/представление недопустимы и когда допустимы параметры

  3. Запустить тест

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

  1. Пустая служба
  2. проверка-запуск-не удалась.png
  3. проверка-исправления.png Напишите тестовые примеры для сохранения

  4. сохранения метода Напишите тестовые примеры для

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

Спасибо, что прочитали vcg

Оригинал: “https://www.codementor.io/@vcg_cruz/how-i-m-learning-tdd-10c6o9h57j”