[TIP] setUp and tearDown behavior
robertc at robertcollins.net
Mon Jan 18 19:13:37 PST 2010
On Mon, 2010-01-18 at 21:37 -0500, Alfredo Deza wrote:
> I am building some tests for a Python installer that copies some files
> and changes some permissions.
> Nothing weird there.
> However, in the test class I am starting with a setUp that basically
> calls the installer (so the tests can see if everything is where it
> should be), this is followed by a few assertions and finally a
> tearDown is called where everything gets uninstalled.
> When running the tests with nosetests, I see that setUp and tearDown
> are called for *every* method in my test class (e.g. installs => runs
> test method => uninstalls ....)
Thats expected. setUp sets up the environment for a single test.
> Isn't setUp supposed to be run once at the beginning of the class? or
> is this expected?
> In case this is expected, is there a way to do it just once for all
> the methods?
I think nose has a per-class approach, or you can use testresources -
def make(self, dependency_resources):
# do the setup
install_root = 'xxx'
def clean(self, resource):
resources = [('installed_root', InstalledPackage())]
file(self.install_root + '/foo.txt', 'rb').read())
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Size: 197 bytes
Desc: This is a digitally signed message part
More information about the testing-in-python