Skip to content

polyastrikesagain/superheroes_api_test

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Краткий обзор

Тестовое задание: функция, находящая в информации, полученной из запроса к superhero-api (основанного на https://superheroapi.com/) + тесты на эту функцию.

Содержание

Подробнее

Функция находит из результата обращения к superhero-api самого высокого супергероя по параметрам gender (в API это значения 'Female', 'Male' и '-') и is_employed (булево значение). Написанная функция затем тестируется. Используется pytest и параметризация. Также присутствуют скрипты для установки всех нужных пакетов на Linux (для дистрибутивов с менеджерами dnf, yum, pacman, apt) и для запуска тестов.

Файлы

.
├── function.py
├── install_packages.sh
├── run_tests.sh
└── tests
    ├── conftest.py
    ├── test_incorrect_values_raise_value_error.py
    └── test_tallest_of_filtered_returns_correct_hero.py
  • function.py - написанная функция, обрабатывающая JSON для поиска нужного супергероя, которую необходимо протестировать
  • install_packages.sh - bash-скрипт для установки Python, pip и всех пакетов, необходимых для запуска тестов (pytest, requests)
  • run_tests.sh - bash-скрипт для запуска всех тестов
  • tests/conftest.py - файл, содержащий фикстуру, выполняющую запрос к API
  • tests/test_incorrect_values_raise_value_error.py - параметризованный негативный тест, проверяющий все возможные некорректные наборы параметров, чтобы удостовериться, что функция при их обнаружении вызывает ошибку (8 наборов параметров)
  • tests/test_tallest_of_filtered_returns_correct_hero.py - параметризованный позитивный тест, проверяющий все возможные шесть результатов функции на возвращение корректного супергероя и отсутствие чувствительности параметра gender к регистру (8 наборов параметров)

Как запустить тесты

Дистрибутивы Linux

  1. Скачать и распаковать архив с файлами или клонировать репозиторий, прописать в желаемой директории команду:
    git clone https://github.com/polyastrikesagain/superheroes_api_test/
  2. В папке проекта обнаружить файлы function.py (функция), папку tests с двумя тестами .py и файлом conftest.py
  3. В папке проекта найти два bash-скрипта install_packages.sh и run_tests.sh
  4. Удостовериться, что каждый скрипт можно запустить (Свойства - Разрешения - Разрешить исполнять как программу)
  5. Запустить install_packages.sh (потребуется ввести пароль пользователя для установки Python и pip), кликнув на него или выбрав ПКМ - Открыть в консоли или прописав в консоли в папке проекта ./install_packages.sh
  6. Запустить run_tests.sh, кликнув на него, выбрав ПКМ - Открыть в консоли или прописав в консоли в папке проекта ./run_tests.sh
  7. В консоли будет описан результат запуска тестов

Windows

  1. Повторить шаги инструкции для дистрибутивов Linux за исключением шагов с файлами install_packages.sh и run_tests.sh
  2. Если Python не установлен, установить его можно на официальном сайте
  3. Для установки пакетов в командной строке прописать py -m pip install pytest requests
  4. Для запуска тестов в командной строке, находясь в директории проекта, прописать pytest
  5. В консоли будет описан результат запуска тестов
  6. Удалить Windows

About

test task i'm doing to call the superheroes api. writing a function and then testing it as mush as possible

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors