В данном репозитории содержится выполненное тестовое задание. Само задание выполнено на языке Python с использованием FastAPI фреймворка. Тестирование приложение выполнено при помощи модуля: Unittest. Дополнительное тестирование выполнялось при помощи инструмента(TestClient), который предоставлялся в фреймворке.
- Необходимые компоненты.
- Запуск приложения и тестов из среды разработки (VSC).
- Запуск приложения и тестов из командной строки (cmd).
- Запуск Docker контейнера и теста к нему.
- Необходимая версия python: 3.6+
- Следует установить фреймворк FastAPI: pip install fastapi
- Следует установить утилиту запуска сервера uvicorn: pip install "uvicorn[standard]"
После того, как все необходимые компоненты установлены, можно переходить к запуску приложения. Все тесты и разработки велись в редакторе кода (среде разработки) Visual Studio Code.
Запуск приложения:
- Скопировать репозиторий на устройство.
- Перейти в директорию "App"
- Воспользоваться утилитой запуска сервера uvicorn main:app --reload
- Перейти в веб-сервис при помощи локального IP-адреса: http://127.0.0.1:8000
Запуск тестовых приложений:
Файл test_check - приложение, в котором используются инструменты фреймворка (FastAPI) TestClient. В данном тестовом приложении (далее - тест) тестируются элементы сервера по отдельности. Стоит отметитья, что присутствуют несколько тестовых запросов. Данный тест не эмулирует действия пользователя и тестирует написанный функционал.
Для запуска теста:
- pytest test_check.py
Файл test_func - приложение, в котором используется модуль unittest. В данном приложении отдельно тестируются основные модули, где необходима точность вводимых данных. В тот же момент, тестируются запросы развернутому веб-сервису. Unittest хорош тем, что он эмулирует действия пользователя. Т.е. сайт получает запросы, словно их пишет настоящий человек и также возвращает ответы в реальном времени.
Для запуска теста:
- python3 -m unittest
- Скопировать репозиторий на устройство.
- Необходимо перейти в директорию, где лежит файл main.py.
- Воспользоваться утилитой uvicorn main:app --reload.
- Перейти в веб-сервис при помощи локального IP-адреса: http://127.0.0.1:8000
Запуск тестовых приложений:
Файл test_check - приложение, в котором используются инструменты фреймворка (FastAPI) TestClient. В данном тестовом приложении (далее - тест) тестируются элементы сервера по отдельности. Стоит отметить, что присутствуют несколько тестовых запросов. Данный тест не эмулирует действия пользователя и тестирует только написанный функционал.
Для запуска теста:
- pytest test_check.py
Файл test_func - приложение, в котором используется модуль unittest. В данном приложении отдельно тестируются основные модули, где необходима точность вводимых данных. В тот же момент, тестируются запросы развернутому веб-сервису. Unittest хорош тем, что он эмулирует действия пользователя. Т.е. сайт получает запросы, словно их пишет настоящий человек и также возвращает ответы в реальном времени.
Для запуска теста:
- python3 -m unittest
Примечание: могут возникать некоторые проблемы, с поиском пути для иконки сайта или с поиском базы данных банковских карт.
На устройстве необходимо иметь установленным приложение docker hub.
- Загрузить директорию AppDocker из репозитория SBB-Test на устройство.
- В командной строке перейти в директорию AppDocker.
- Воспользоваться командой: docker-compose up
- Перейти в веб-сервис при помощи локального IP-адреса: http://127.0.0.1:8000 или http://localhost:8000/.
Файл test_docker - приложение, в котором используется модуль unittest и requests. В данном варианте тестируются только запросы к собранному и запущенному докер контейнеру. Как и в тесте test_func эмулируется деятельность пользователя.
Для запуска теста:
- python3 -m unittest
Примечание: могут возникать некоторые проблемы, с поиском пути для иконки сайта или с поиском базы данных банковских карт.