Тестирование на 400 ошибок с вставкой в ​​приложении web.py - PullRequest
12 голосов
/ 16 августа 2011

Я использую вставить, чтобы провести некоторое функциональное тестирование моих «контроллеров» в приложении 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, но я не могу найти примерыо том, как использовать его или если его даже правильный путь.Какие-либо предложения?Или я просто ошибаюсь?

1 Ответ

30 голосов
/ 30 октября 2011

Я знаю, что я опоздал на вечеринку, но я наткнулся на это в поисках ответа на тот же вопрос. Чтобы 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

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

...