Интерес к Flutter достиг беспрецедентного уровня и это не только приятно, но и давно назрело. Flutter это открытый SDK от Google, который поддерживает Android, iOS, macOS, Web, Windows и Linux. Все эти платформы обслуживаются единым кодовым базом Flutter.
Модульное тестирование играет ключевую роль в создании надёжных и стабильных Flutter-приложений. Оно защищает приложение от ошибок, сбоев и дефектов, проактивно повышая качество кода ещё до этапа сборки.
Что такое автоматизированное тестирование?
Автоматизированное тестирование программного обеспечения это процесс проверки и подтверждения того, что приложение выполняет свои ожидаемые функции. Этот подход помогает устранить ошибки и снизить общую стоимость разработки.
Важно понимать одну вещь: главная цель автоматизированного тестирования предотвратить появление заранее известных, типичных ошибок. Это не означает, что ПО будет полностью свободно от багов. Это лишь говорит о том, что в нём не будет распространённых, предсказуемых проблем.
После этапа разработки мы приступаем к написанию тест-кейсов (за исключением процессов, основанных на TDD). В большинстве случаев программа отправляется в релиз только после успешного прохождения всех тестов. Однако если в продуктовой среде обнаруживается баг, мы исправляем его и добавляем соответствующий тест, чтобы подобная ошибка не возникла снова.
Тестирование это всего лишь процесс проверки. При создании новой функции или исправлении бага тесты помогают убедиться, что все ранее реализованные возможности и модули работают корректно. Это гарантирует, что текущая разработка не нарушит уже существующую функциональность.
«Тестирование показывает наличие ошибок, а не их отсутствие». Эдсгер Дейкстра
Юнит-тестирование во Flutter реализовано практически так же, как и в других технологических стекках. Процесс выглядит следующим образом:
- анализируем код;
- подготавливаем мок-данные;
- определяем группу тестов;
- задаём сигнатуры тест-функций для каждой группы;
- пишем сами тесты.