[TIP] Best way to do setup/teardown on a per-test basis using doctest?
Brett Cannon
brett at python.org
Sat Jun 30 13:25:49 PDT 2007
There was an email to python-3000 recently from someone saying that we
should convert all unit tests for Python and its standard library over
to doctest. That made me realize that I have never written a single
doctest in my life. I started out learning unittest back in the day
and I have had issues with doctests back in the day where a very minor
change in output broke a bazillion unit tests.
But I am willing to give a doctest a shot. To learn it I have a need
to write some regression tests for __import__. But because it is
testing something that has a lot of file I/O I have a need to
temporarily create some files, run the tests, and then delete the
created files.
I read about the Unittest API, but I would like to be able to specify
what files to create on a per-test basis. Normally I would use a
try/finally or develop a context manager, but that would suppress the
output from expression evaluation and thus kill the testing (if I
understand how doctest works).
So what is the best way to approach this?
-Brett
More information about the testing-in-python
mailing list