Итоги работы
Давайте кратко подведем итоги того, что мы узнали в этом модуле.
Написание автоматизированных тестов для средних и крупных приложений имеет важное значение. Использование подхода к разработке через тестирование для написания этих автоматизированных тестов дает нам надежный способ планирования каждой функции, прежде чем мы начнем писать код.
В этом разделе мы рассмотрели несколько преимуществ разработки нашего приложения с помощью тестов. Основное преимущество заключается в том, что это дает нам возможность легко расширять наше приложение, а также освобождает его от ошибок. Однако это работает только в том случае, если тестовое покрытие достаточно надежное, чтобы охватить большинство вариантов использования.
Существует несколько типов тестов. Мы подробно рассмотрели написание модульных тестов для каждой функциональности, которую мы разработали в этом курсе. Кроме того, веб-приложение, написанное на Django, имеет множество компонентов, составляющих все приложение. У нас есть шаблон, который отображает HTML и CSS. У нас также есть URL-адреса, формы, которые получают вводимые пользователем данные, представление, обрабатывающее наш запрос, и модель, описывающая нашу базу данных. Поэтому нам нужно протестировать все эти компоненты и убедиться, что создаваемая нами форма делает то, для чего предназначена.
Полное преимущество написания тестов не может быть оценено до тех пор, пока мы не начнем использовать сторонние библиотеки в нашем приложении или пока приложение не будет значительно масштабироваться.
Мы также узнали, что подход к разработке через тестирование можно охарактеризовать как процесс «красный, зеленый, рефакторинг». Красная часть включает в себя написание теста и запуск его, чтобы увидеть, что он не работает. Зеленая часть включает в себя написание кода и повторный запуск теста, чтобы увидеть его прохождение. После этого мы рефакторим код так, как считаем нужным. Мы моделируем и тестируем взаимодействие пользователя с нашим приложением.
Дополнительные ресурсы
Следующие ниже ресурсы предоставляют дополнительную информацию, относящуюся к темам, затронутым в этом разделе:
- Исходный код к этому модулю на GitHub: https://github.com/Permin0ff/TDD_Project.
- Документация по тестированию в Django: https://docs.djangoproject.com/en/5.0/topics/testing/.
- Документация Django: https://docs.djangoproject.com/en/5.0/.
- Исходный код Django: https://github.com/django/django.
- Документация Python: https://docs.python.org/3/.