README.md

О проекте

Пример тестирования Flask-приложения с помощью pytest, allure, sqlite. На само приложение (если есть желание) можно посмотреть, запустив:

# Перед запуском выполнить пункт "Сборка проекта / зависимости"
python3 mainapp.py
# Будет доступно по: http://localhost:8080)

Как это работает

При запуске теста создаётся база данных (sqlite3) test_g-oak.db.ru, которая при каждом прогоне заново наполняется необходимыми для теста данными и очищается по завершении всех тестов. За данный функционал отвечат файл tests/conftest.py. Тем самым при тесте используется сторонняя база данных и не идёт никаких обращений в базу g-oak.db.ru (которая используется непосредственно самим приложением). Для теста также не требуется запускать приложение, так как все url-ы и прочая логика поднимаются / проверяются самостоятельно на уровне pytest.

Тест запускается с помощью команды:

python3 -m pytest --alluredir=allure_data

Поэтому исходные даные для allure отчёта сохраняются в директорию allure_data, находящуюся в корне проекта.

Сборка проекта / зависимости

pip3 install -r requirenments.txt

Запуск тест-кейсов

Обязательно установить зависимости

pip3 install -r requirenments.txt

Установить allure-клиента для необходимой ОС

https://github.com/allure-framework/allure2/releases

Запуск тестирования

python3 -m pytest --alluredir=allure_data

Просмотр отчёта

Отчёты можно просмотреть

  • как в локальном index.html файле (для этого надо будет сначала его сгенерировать)
allure generate -o allure_reports allure_data --clear
# Открыть файл index.html в директории allure_reports
  • так и подняв локальный сервер
allure serve allure_data
# Отчёт откроется автоматически в браузере

# Требуется Java 11, при наличии ошибки "Please set the JAVA_HOME variable in your environment to match the location of your Java installation.", могут помочь команды:
echo $JAVA_HOME
readlink -f $(which java)
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64/
Конвейеры
0 успешных
0 с ошибкой