[Zope] Cool monkey patch to make tracebacks more useful :-)
Lennart Regebro
regebro at gmail.com
Wed Jul 13 06:47:39 EDT 2005
On 7/13/05, Chris Withers <chris at simplistix.co.uk> wrote:
> Ever noticed how tracebacks from ZPT are actually quite useful when
> viewed through the error_log object, but totally useless when they fail,
> say, in a unit test?
Yeah.
> This bugged me, so I had a dig, and just discovered this cool monkey
> patch, to be inserted in any module that gets imported before an
> exception is raised:
So, could this be in the unit test module itself, for example?
And a question for you:
Ever noticed how it's near impossible to figure out what actually
causes an error when you run functional tests? Can you fix that too?
:-)
I used to do this in all my functional test cases:
def getTraceback(self, response):
return getattr(response._response, '_text_traceback', None)
def assertResponse(self, response, status, message=''):
if not response.getStatus() == status:
tb = self.getTraceback(response)
if tb is not None:
raise self.failureException, tb
else:
raise ValueError, "Response had status %s, expected %s. %s" % (
response.getStatus(), status, message)
And then end all my tests with:
self.assertResponse(response, 200)
And that _used_ to print out any exception that had occurred, but in
newer version of Zope this never happens. There sinmply never is and
_text_exception on the response anymore. Any ideas on how to get a
useable exception report on unit tests?
--
Lennart Regebro, Nuxeo http://www.nuxeo.com/
CPS Content Management http://www.cps-project.org/
More information about the Zope
mailing list