Никита Поляков
👋 Привет Пол (и все, кто интересуется улучшением процесса тестирования)
Сегодня я хочу поделиться с вами подходом к работе с тестовыми данными, который я активно использую каждый день. Я храню тестовые данные в JSON-файлах и написал библиотеку для работы с ними. Давайте разберёмся, почему это так удобно и как это может упростить вашу жизнь.
Преимущества подхода:
1️⃣ Наглядность данных
На мой взгляд, JSON-файлы гораздо нагляднее, чем использование билдеров в коде. Данные можно легко читать и редактировать.
2️⃣ Понятность данных для стейкхолдеров
Один из ключевых плюсов вытекает из предыдущего пункта: на прошлом проекте я мог прямо на встрече с бизнес-стейкхолдерами изменять тестовые данные в JSON-файле и после встречи начать править код.
3️⃣ Лаконичность тестов
В тестировании есть замечательное правило: "Тест должен охватываться одним взглядом", что дает возможность использовать тесты как спецификацию.
Вынесение данных в JSON позволяет свести их представление в тесте к одной строке. Такой подход помогает абстрагироваться от подготовки тестовых данных и сосредоточиться на главной ответственности тестов — непосредственном тестировании.
4️⃣ Работа с большими и сложными запросами
JSON позволяет хранить сложные структуры данных, которые максимально приближены к тем, что используются в боевой среде и без излишней громоздкости.
5️⃣ Легкость дебага
В случае необходимости можно взять JSON с боевой среды и использовать его для отладки проблемы прямо в юнит-тестах.
6️⃣ Интеграция с IDEA
Еще одно удобство заключается в том, что с помощью IntelliJ IDEA можно легко навигироваться из теста прямо в JSON-файл. Это значительно ускоряет работу, ведь вы можете быстро переходить к данным, менять их и сразу видеть результат в тесте. (Скрин приложу в комментариях)
Однако у такого подхода есть и свои недостатки:
— Накопление неиспользуемых данных
Со временем в JSON-файлах могут накапливаться лишние поля, которые перестали использоваться в коде. Это усложнит чтение и поддержку т
1 · 277 ·