Подтвердить что ты не робот

Тестирование на 400 ошибок с вставкой в ​​приложении web.py

Я использую пасту для выполнения некоторых функциональных тестов на своих "контроллерах" в своем приложении web.py. В одном случае я пытаюсь протестировать ответ на 400, когда неверный отчет отправляется в конечную точку API. Вот как выглядит мой тест:

def test_api_users_index_post_malformed(self):
    r = self.testApp.post('/api/users', params={})
    assert r.header('Content-Type') == 'application/json'
    assert r.status == 400

Но я получаю следующее исключение:

AppError: Bad response: 400 Bad Request (not 200 OK or 3xx redirect for /api/users)

Я вижу, что у пасты есть промежуточное ПО HttpException, но я не могу найти примеров того, как его использовать или если это даже правильный путь. Какие-либо предложения? Или я просто собираюсь сделать это неправильно?

4b9b3361

Ответ 1

Я знаю, что я опоздал на вечеринку, но я столкнулся с этим поиском ответа на тот же вопрос. Чтобы позволить TestApp передавать ответы без ответа 2xx/3xx, вам нужно сообщить запрос, чтобы разрешить "ошибки".

def test_api_users_index_post_malformed(self):
    r = self.testApp.post('/api/users', params={}, expect_errors=True)
    assert r.header('Content-Type') == 'application/json'
    assert r.status == 400

Счастливый взлом!