Il framework e il server WSGI contengono gestori che catturano eccezioni ed eseguono alcune azioni (eseguono il rendering di uno stacktrace nel corpo, registrano il backtrace in un file di registro, ecc.). Webtest, per impostazione predefinita, non mostra la risposta effettiva, che potrebbe essere utile se il framework esegue il rendering di uno stacktrace nel corpo. Io uso la seguente estensione a WebTest quando ho bisogno di guardare il corpo della risposta:
class BetterTestApp(webtest.TestApp):
"""A testapp that prints the body when status does not match."""
def _check_status(self, status, res):
if status is not None and status != res.status_int:
raise webtest.AppError(
"Bad response: %s (not %s)\n%s", res.status, status, res)
super(BetterTestApp, self)._check_status(status, res)
Ottenere un maggiore controllo su ciò che accade a eccezione dipende da ciò che framework e server in uso. Per il modulo integrato wsgiref
potresti riuscire a sostituire lo error_output per ottenere ciò che desideri.
Ci saranno 'error' reindirizzati ad alcuni file in WSGI config. È possibile effettuare il check-in per ottenere l'errore su alcuni file. – Nilesh