Имитация ошибки сервера - PullRequest
0 голосов
/ 24 июня 2011

Я использую App Engine для запуска моего приложения и хочу проверить, как оно будет обрабатывать ошибки сервера. Есть ли возможность симулировать ошибку 500 с помощью WebTest ?

Ответы [ 2 ]

3 голосов
/ 28 ноября 2012

Я обошел это, используя попытку кроме цикла.

try:
    self.testapp.get('/')
    self.assertEqual(1, 2, 'GET request should have resulted in a 405 error') # Purposely fail
except webtest.app.AppError:
    pass

Другой способ заключается в следующем:

self.assertEqual("500 Internal Server Error", self.testapp.post('/', params={}, expect_errors=True).status, 'POST Request should have resulted in a 500 error')

Оба метода по-прежнему будут вызывать трассировку, но тест пройден

1 голос
/ 24 июня 2011

Ошибка 500 - это то, что ваше веб-приложение возвращает клиенту, когда оно получает необработанное исключение. Это не конкретный сбой - просто то, что он показывает своим пользователям, когда что-то неожиданно идет не так. Вместо этого вам следует выполнить юнит-тестирование ваших обработчиков, чтобы убедиться, что они работают должным образом.

...