[TIP] always call teardownX even if setupX fails?
holger krekel
holger at merlinux.eu
Thu Jan 28 04:10:18 PST 2010
On Thu, Jan 28, 2010 at 08:19 +1100, Robert Collins wrote:
> On Wed, 2010-01-27 at 18:07 +0100, holger krekel wrote:
> >
> > > Any test with moderately complex external fixtures would benefit
> > from
> > > this behavior. We use a subclass of unittest.TestCase that always
> > calls
> > > tearDown() for all of our tests at Racemi.
> >
> > thanks for your feedback. py.test will do that as well with 1.2.1 -
> > with
> > the addition that triggering "Skipped" exceptions in a setup function
> > will
> > not call teardown.
>
> Why not?
>
> Consider:
>
> setUp:
> self.foo = get_foo()
> if not isinstance(self.foo, TestableThing):
> raise TestSkipped()
>
> Why should this /not/ call tearDown ?
not calling teardown seemed slightly easier to implement ... i can work
a bit harder though :)
However, I haven't see your example pattern with py.test usages yet.
Is this a an example from actual code?
And if so do you have have and use it in setup_module and setup_class - alike
methods?
cheers,
holger
More information about the testing-in-python
mailing list