Ожидаемые результаты ошибок подтверждения не отображаются при использовании файлов Pytest и conftest.py - PullRequest
1 голос
/ 18 февраля 2020

Я использую Pytest для проверки содержимого моего сайта. У меня есть исправление в моем conftest.py, которое создает веб-драйвер для других тестов. Если во время выполнения теста возникает ошибка, отображается только AssertionError, а не действительные и ожидаемые значения, проверяемые в операторе assert.

Вот мой файл conftest.py:

import os

import pytest
from selenium import webdriver


@pytest.fixture(scope="session")
def setup(request):
    driver_path = os.path.join(os.path.dirname(os.path.realpath(__file__)), 'drivers')
    driver = webdriver.Chrome()
    session = request.node
    for item in session.items:
        cls = item.getparent(pytest.Class)
        setattr(cls.obj, "driver", driver)

    yield driver
    driver.close()

Вот мой тестовый файл высокого уровня:

import pytest

from validations import *


@pytest.mark.usefixtures("setup")
class TestOurServices:
    def test_our_services_direct_navigation(self):
        go_to_our_services(self.driver)
        validate_our_services_content(self.driver)

Тогда вот пример вывода:

enter image description here

1 Ответ

1 голос
/ 19 февраля 2020

Эта статья помогла решить проблему:

Самоанализ pytest assert в вспомогательной функции

У меня были утверждения в вспомогательных функциях, таких как validate_our_services_content сверху. Они были в файле с именем validations.py

Ссылка на вышеуказанную проблему Я создал файл __init__.py для объявления этих проверок:

__init__.py

import pytest

pytest.register_assert_rewrite('validations')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...