Я новичок в pytest
и экспериментирую с использованием декоратора pytest.xfail
.
Мой вопрос заключается в том, является ли вывод, который я получаю, слишком большим / неправильным и, следовательно, указывает, что я делаю что-то не так. Причина, по которой я спрашиваю, состоит в том, что это гораздо больше, что я видел в других примерах. Окончательное резюме показывает правильно, как 1 xfailed in 2.61 seconds
.
Я тестирую приложение Flask
, которое должно вернуть Hello World
на get
до /
:
@pytest.fixture
def client():
client = application.app.test_client()
yield client
@pytest.mark.xfail(reason='should fail')
def test_hello_world(client):
r = client.get('/')
assert r.get_json() == '12Hello World'
Выход
test_application.py x
client = <FlaskClient <Flask 'application'>>
@pytest.mark.xfail(reason='should fail')
def test_hello_world(client):
r = client.get('/')
> assert r.get_json() == '12Hello World'
E AssertionError: assert 'Hello World' == '12Hello World'
E - Hello World
E + 12Hello World
E ? ++
test_application.py:30: AssertionError
[100%]
========================== 1 xfailed in 2.61 seconds ==========================
Должно ли оно действительно показывать ошибку и все? Другие примеры, которые я видел, просто показывают x
, указывающий на ожидаемый неудачный тест. Кроме того, он не показывает reason
, что также удивляет меня. У меня нет аргумента -v
(подробный) при запуске. Я запускаю тесты в Pycharm.