Присоединяйтесь к нашему каналу и погрузитесь в мир для Java-разработчика
Связь: @devmangx
РКН: https://clck.ru/3H4WUg
Post #1609
3.82K





5 советов по написанию действительно хороших юнит-тестов
1) Тестируйте поведение, а не реализацию
Пишите тесты, которые проверяют, что код должен делать, а не как именно он это делает внутри.
Потому что внутренние методы могут изменяться, но ожидаемое поведение должно оставаться стабильным.
2) Давайте тестам имена как документации, а не как коду
Пишите имена тестовых методов так, как будто они рассказывают историю - - чётко, конкретно и читаемо для человека.
Это облегчает чтение отчетов о тестах — не нужно углубляться в код.
3) Пишите тест до исправления ошибки
Когда вы обнаруживаете ошибку, сначала напишите тест, который воспроизводит её, прежде чем исправить код.
Это докажет, что ошибка действительно существует (а не только в вашей голове).
Допустим, вы обнаружили, что дни рождения в високосный год крашат вашу систему.
4) Используйте тесты с параметрами для граничных случаев
Вместо того чтобы писать много похожих тестов, пробегитесь по набору входных данных с помощью параметризованных тестов.
Это предотвращает беспорядок от копипаста и делает набор тестов более чистым.
5) Проверяйте только важные моменты, а не все поля
Сфокусируйтесь на утверждениях, касающихся важных бизнес-результатов, а не на каждом поле объекта.
Это помогает тестам оставаться стабильными, даже когда несущественные детали изменяются.
👉 Java Portal
1) Тестируйте поведение, а не реализацию
Пишите тесты, которые проверяют, что код должен делать, а не как именно он это делает внутри.
Потому что внутренние методы могут изменяться, но ожидаемое поведение должно оставаться стабильным.
2) Давайте тестам имена как документации, а не как коду
Пишите имена тестовых методов так, как будто они рассказывают историю - - чётко, конкретно и читаемо для человека.
Это облегчает чтение отчетов о тестах — не нужно углубляться в код.
3) Пишите тест до исправления ошибки
Когда вы обнаруживаете ошибку, сначала напишите тест, который воспроизводит её, прежде чем исправить код.
Это докажет, что ошибка действительно существует (а не только в вашей голове).
Допустим, вы обнаружили, что дни рождения в високосный год крашат вашу систему.
4) Используйте тесты с параметрами для граничных случаев
Вместо того чтобы писать много похожих тестов, пробегитесь по набору входных данных с помощью параметризованных тестов.
Это предотвращает беспорядок от копипаста и делает набор тестов более чистым.
5) Проверяйте только важные моменты, а не все поля
Сфокусируйтесь на утверждениях, касающихся важных бизнес-результатов, а не на каждом поле объекта.
Это помогает тестам оставаться стабильными, даже когда несущественные детали изменяются.
👉 Java Portal
- 👍 10
- ❤ 9








