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 с ошибкой