Существует несколько видов юнит-тестов: 3
- Позитивное тестирование. 3 Проверяет, правильно ли функция или метод работает при корректных входных данных. 3
- Негативное тестирование. 3 Оценивает, как код реагирует на нестандартные ситуации или введение очевидно некорректных данных. 3
- Граничное тестирование. 3 Проверка граничных значений входных данных. 3 Например, если функция принимает числа от 1 до 100, граничное тестирование будет проверять значения 0, 1, 100 и 101. 3
- Тестирование с использованием моков. 3 Моками называют фейковые базы данных, серверы и другие сложные системы. 3 Это «дублёры», с помощью которых можно безопасно протестировать систему. 3 Например, если метод обращается к базе данных, используют мок для имитации ответа базы данных — без подключения к реальной базе. 3
- Тестирование состояния. 3 Проверка, что функция или метод приводит систему или объект в ожидаемое состояние после выполнения. 3 Например, есть метод, который добавляет элемент в список, — после этого размер списка должен увеличиться на один. 3
Юнит-тесты применяются в случаях, если код непонятен, если код часто меняется, если обновления в одной части кода могут сломать что-то в другой части. 9