[Python-Dev] setUpClass and setUpModule in unittest (original) (raw)

Olemis Lang olemis at gmail.com
Tue Feb 9 20:24:33 CET 2010


On Tue, Feb 9, 2010 at 1:44 PM, Michael Foord <fuzzyman at voidspace.org.uk> wrote:

On 09/02/2010 17:57, Antoine Pitrou wrote:

Le Tue, 09 Feb 2010 16:42:50 +0000, Michael Foord a écrit :

The next 'big' change to unittest will (may?) be the introduction of class and module level setUp and tearDown. This was discussed on Python-ideas and Guido supported them. They can be useful but are also very easy to abuse (too much shared state, monolithic test classes and modules). Several authors of other Python testing frameworks spoke up against them, but several users of test frameworks spoke up in favour of them. ;-) One problem is that it is not obvious what happens with inheritance. If I have a class-level setUp for class B, and class C inherits from B, will there be a separate invocation of setUp for C, or not? (I guess both possibilities have use cases) Well, what I would expect (others may disagree) is that you only have class level setup invoked for classes that have tests (so not for base classes) and that the base-class setUpClass is only called if invoked by the subclass. I haven't thought about where the code to do this should go. It could go in TestSuite, but that feels like the wrong place.

When I implemented this in dutest I did it as follows :

PS: Probably it's not the right place, but AFAIK it's the only place «we» have to do such things ;o)

-- Regards,

Olemis.

Blog ES: http://simelo-es.blogspot.com/ Blog EN: http://simelo-en.blogspot.com/

Featured article: Embedding pages? - Trac Users | Google Groups - http://feedproxy.google.com/r/TracGViz-full/3/-XtS7h-wjcI/e4cf16474aa3cb87



More information about the Python-Dev mailing list