Как автотесты и GitHub Actions помогают улучшать свои пет-проекты

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Привет. Сегодня поговорим о том, как я в последние 2 недели поправил свои пет-проекты, а также исправил серьёзные ошибки благодаря автотестам и налаженному CI/CD через GitHub Actions.

Какие проекты были подвергнуты изменениям?

Были подвергнуты многие мои петы. Начиная от самого заброшенного пета, и заканчивая самым интересным для меня. В основном, я дорабатывал слой БД, поправил сервисный слой, и многое другое.

Почему ручное тестирование - это (необходимое) зло?

  1. Ручное тестирование ухудшает производительность разработчика, так как ему приходится вместо того, чтобы писать код, постоянно заходить в Postman, и тестировать API. Spring MockMvc делает это автоматически - достаточно написать тест, и запускать регулярно при серьёзных (и не только) изменениях.

  2. А что с тестированием конкретной логики приложения? Spring Boot Test включает и инструменты для юнит-тестирования - JUnit, Mockito, и многое другое.

  3. А как создать полноценное окружение для интеграционного тестирования? TestContainers позволяет создать контейнеризированное окружение для запуска полноценных сервисов - таких как PostgreSQL, например.

Ручное тестирование, разумеется, тоже необходима, но критические узлы кода всё-таки желательно покрыть тестами, чтобы уменьшить вероятность возникновения серьёзных ошибок - особенно уровня инцидента с Crowdstrike.

Что я получил от такого опыта?

  1. Облегчил себе тестирование API и сервисного слоя.

  2. Исправил несколько серьёзных ошибок (которые были вызваны моей невнимательностью, а также активному применению карго-культа).

  3. Улучшил в целом качество кода.

Вывод

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

Также для улучшении качества кода я использую плагин Amplicode. Этот плагин позволил мне улучшить качество кода в слое БД, облегчить работу с Spring, и в принципе улучшить свою жизнь. А OpenIDE позволило мне получить лицензионно чистую версию IDEA, которая полностью идентична по опыту с оригинальной Intellij IDEA.

Это не реклама. Это мой опыт.

Источник: https://habr.com/ru/articles/906624/


Интересные статьи

Интересные статьи

Представьте: горячий металл, мощные машины, сотни работников — наше производство постоянно подвержено различным рискам. И как мы превратили эти вызовы в возможности? Этот рассказ будет о том, как мы в...
Федеральная антимонопольная служба РФ (ФАС) и Минцифры направили в Минэнерго замечания к проекту постановления о повышении тарифов на электричество для майнинг-центров. Минэнерго предложило подня...
Практически у каждого разработчика на Битрикс при переходе с уровня "сайт из 5 страничек" на уровень "крупный проект с 10к+ пользователями" возникает потребность производить отладку отправки почты, но...
Цель статьи, – показать примеры управления реализацией стратегии с помощью корпоративной единой информационной площадки на доступном инструменте, - Битрикс24. В статье на простом языке обсуждаются воз...
В этом туториале мы разберем создание программы для дрона с голосовым управлением на Node.js и Web speech API. Коптер — Parrot ARDrone 2.0.