[TIP] Functions for tests instead of classes
fuzzyman at voidspace.org.uk
Thu Mar 4 14:33:01 PST 2010
On 04/03/2010 22:03, Ryan Freckleton wrote:
> On Wed, Mar 3, 2010 at 12:15 PM, Michael Foord
> <fuzzyman at voidspace.org.uk <mailto:fuzzyman at voidspace.org.uk>> wrote:
> Once Holger and Benjamin have worked on their ast transformation
> code it should be possible to add this to simpletest for better
> failure messages with plain asserts.
> Does that mean we're going to get pretty asserts through ast
> transforms? As in:
Well, not in unittest itself but in some extension of unittest...
There is an implementation that could be adapted fairly easily:
This uses the ast module which is new in Python 2.6, but it could be
backported to use _ast for Python 2.5. There is also an old version
called "_assertionold.py" that uses the compiler module present in
There is also code in nose that does something similar (stack
introspection rather than ast transformation I *believe*) in nose. If
unittest had a good extension API this could just be implemented as a
All the best,
> assert obj.froddle() == "baz"
> gets transformed into like (or at least functionally equivalent to):
> result = object.froddle()
> expected = "baz"
> assert result == expected, "%s != %s" % (result, expected)
> If so, that's fantastic! The same thought crossed my mind to implement
> that with ast transforms, but I don't have enough ast-fu to implement it.
> --Ryan E. Freckleton
READ CAREFULLY. By accepting and reading this email you agree, on behalf of your employer, to release me from all obligations and waivers arising from any and all NON-NEGOTIATED agreements, licenses, terms-of-service, shrinkwrap, clickwrap, browsewrap, confidentiality, non-disclosure, non-compete and acceptable use policies ("BOGUS AGREEMENTS") that I have entered into with your employer, its partners, licensors, agents and assigns, in perpetuity, without prejudice to my ongoing rights and privileges. You further represent that you have the authority to release me from any BOGUS AGREEMENTS on behalf of your employer.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the testing-in-python