[TIP] How to detect if you are running in "test mode"
jorge.vargas at gmail.com
Wed Aug 4 14:59:29 PDT 2010
I'm trying to decouple a package from it's deployed environment. In order to
make it testable. For this I need to change some hardcoded paths currently
defined at module level things in the form
PATH_TO_SCRIPTS = '/var/lib/..../'
in production those files must be present and the build process takes care
of that. However in development and testing I will like to have those paths
I could override those at import time but it will mean having to override
the variable on each test module.
therefore I think a better solution will be to pollute the package a little
with a flag to check this.
I'm thinking of something like
PATH_TO_SCRIPTS = '/this/value/will/never/be'
if <running in testing>:
PATH_TO_SCRIPTS = '../some_checkout'
PATH_TO_SCRIPTS = '/var/lib/...../'
this will be at my module.__init__.py which means everything should work
with either path specified as long as they contain some scripts.
Bonus points if someone could point out how to add a third flag
to differentiate from development and testing.
BTW this is with unittest2 although I think the solution should be valid for
all other testing tools.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the testing-in-python