Рубрики
Uncategorized

3 причины, по которым вы ДОЛЖНЫ писать тесты

Написание тестов – это то, к чему, я думаю, многие разработчики приходят позже. Довольно часто бывает так, что w… С тегами php, javascript, тестирование.

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

Я не понимаю, почему тестирование недостаточно сфокусировано? Когда вы начинаете работать над производственными проектами и в командах, вы часто обнаруживаете, что тестирование – это то, что вам просто необходимо сделать.

Я думаю, что отчасти это сводится к тому, что написание тестов недостаточно ясно. Это похоже на версию офисных документов для разработчиков – похоже, никто не хочет этим заниматься. Позвольте мне объяснить, почему вы должны писать автоматизированные тесты.

Типичный Сценарий

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

Тестирование делает это лучше.

Что такое автоматизированное тестирование?

Проще говоря, автоматическое тестирование – это проверка того, что ваш код делает то, что он должен делать. Вы взаимодействуете с созданным вами API и утверждаете, что были выполнены правильные действия. Является ли это кодом ответа HTTP, проверкой наличия записи в базе данных или просто чем-то еще.

Также стоит отметить, что тестирование – это не волшебная палочка. Он следует тем же принципам, что и большинство вещей GiGo (Мусор внутрь, мусор наружу). Вы должны убедиться, что тесты, которые вы пишете, являются значимыми и полезными, иначе они не служат никакой цели.

Общие рамки тестирования

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

PHP

  • PHPUnit
  • Кодовое восприятие
  • Вести себя так

язык JavaScript

  • Шутка
  • Жасмин
  • Мокко

Почему вы должны писать автоматизированные тесты?

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

1. Уверенность разработчика

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

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

2. Мышление как потребитель

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

Благодаря этому он позволяет вам легко продумать крайние случаи того, как пользователь может взаимодействовать с вашим приложением. Сколько раз пользователи использовали приложение так, как вы не ожидали?

3. Экономия времени

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

Тестирование – это то, на написание чего вы тратите время в качестве инвестиции в будущее.

Есть ли время, когда вам не следует писать автоматизированные тесты?

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

Оригинал: “https://dev.to/georgehanson/3-reasons-why-you-should-write-tests-c7e”