Skip to content

mm0ri/SBB-Test

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 

Repository files navigation

SBB-Test:

В данном репозитории содержится выполненное тестовое задание. Само задание выполнено на языке Python с использованием FastAPI фреймворка. Тестирование приложение выполнено при помощи модуля: Unittest. Дополнительное тестирование выполнялось при помощи инструмента(TestClient), который предоставлялся в фреймворке.


Оглавление:

  1. Необходимые компоненты.
  2. Запуск приложения и тестов из среды разработки (VSC).
  3. Запуск приложения и тестов из командной строки (cmd).
  4. Запуск Docker контейнера и теста к нему.

Информация об использовании приложения:

  1. Необходимая версия python: 3.6+
  2. Следует установить фреймворк FastAPI: pip install fastapi
  3. Следует установить утилиту запуска сервера uvicorn: pip install "uvicorn[standard]"

После того, как все необходимые компоненты установлены, можно переходить к запуску приложения. Все тесты и разработки велись в редакторе кода (среде разработки) Visual Studio Code.

Запуск приложения:

  1. Скопировать репозиторий на устройство.
  2. Перейти в директорию "App"
  3. Воспользоваться утилитой запуска сервера uvicorn main:app --reload
  4. Перейти в веб-сервис при помощи локального IP-адреса: http://127.0.0.1:8000

Запуск тестовых приложений:

Файл test_check - приложение, в котором используются инструменты фреймворка (FastAPI) TestClient. В данном тестовом приложении (далее - тест) тестируются элементы сервера по отдельности. Стоит отметитья, что присутствуют несколько тестовых запросов. Данный тест не эмулирует действия пользователя и тестирует написанный функционал.

Для запуска теста:

  1. pytest test_check.py

Файл test_func - приложение, в котором используется модуль unittest. В данном приложении отдельно тестируются основные модули, где необходима точность вводимых данных. В тот же момент, тестируются запросы развернутому веб-сервису. Unittest хорош тем, что он эмулирует действия пользователя. Т.е. сайт получает запросы, словно их пишет настоящий человек и также возвращает ответы в реальном времени.

Для запуска теста:

  1. python3 -m unittest
  1. Скопировать репозиторий на устройство.
  2. Необходимо перейти в директорию, где лежит файл main.py.
  3. Воспользоваться утилитой uvicorn main:app --reload.
  4. Перейти в веб-сервис при помощи локального IP-адреса: http://127.0.0.1:8000

Запуск тестовых приложений:

Файл test_check - приложение, в котором используются инструменты фреймворка (FastAPI) TestClient. В данном тестовом приложении (далее - тест) тестируются элементы сервера по отдельности. Стоит отметить, что присутствуют несколько тестовых запросов. Данный тест не эмулирует действия пользователя и тестирует только написанный функционал.

Для запуска теста:

  1. pytest test_check.py

Файл test_func - приложение, в котором используется модуль unittest. В данном приложении отдельно тестируются основные модули, где необходима точность вводимых данных. В тот же момент, тестируются запросы развернутому веб-сервису. Unittest хорош тем, что он эмулирует действия пользователя. Т.е. сайт получает запросы, словно их пишет настоящий человек и также возвращает ответы в реальном времени.

Для запуска теста:

  1. python3 -m unittest

Примечание: могут возникать некоторые проблемы, с поиском пути для иконки сайта или с поиском базы данных банковских карт.

На устройстве необходимо иметь установленным приложение docker hub.

  1. Загрузить директорию AppDocker из репозитория SBB-Test на устройство.
  2. В командной строке перейти в директорию AppDocker.
  3. Воспользоваться командой: docker-compose up
  4. Перейти в веб-сервис при помощи локального IP-адреса: http://127.0.0.1:8000 или http://localhost:8000/.

Файл test_docker - приложение, в котором используется модуль unittest и requests. В данном варианте тестируются только запросы к собранному и запущенному докер контейнеру. Как и в тесте test_func эмулируется деятельность пользователя.

Для запуска теста:

  1. python3 -m unittest

Примечание: могут возникать некоторые проблемы, с поиском пути для иконки сайта или с поиском базы данных банковских карт.

About

Test task for SBB

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors