У меня проблема при тестировании моего флеш-приложения с помощью pytest.
Приложение обязательное базовое поле ввода - это параметр request.authorization
в колбе.
Но с pytest, flask.test_client() не имеет request.authorization
.python - Flask test_client() не имеет request.authorization с pytest
Вот код прибора:
@pytest.yield_fixture(scope='session')
def app()
app = create_app()
# some setup code
ctx = app.app_context()
ctx.push()
yield app
ctx.pop()
# some teadown code
@pytest.fixture
def test_client(app)
return app.test_client()
Вот код теста:
def test_index(test_client):
res = test_client.get("/", headers={"Authorization": "Basic {user}".format(user=b64encode(b"test_user"))})
assert res.status_code == 200
Когда я запускаю этот тест, я получил эту ошибку:
E assert 401 == 200
E + where 401 = <Response streamed [401 UNAUTHORIZED]>.status_code
не только auth, но также request.authorization не имеет никакого значения (None).
Почему это происходит? Есть ли решение?
Спасибо.
Привет, спасибо. Теперь он отлично работает, и я могу видеть 'request.authorization' с именем пользователя и паролем. –