Hi,<div><br></div><div>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 </div>
<div><br></div><div>PATH_TO_SCRIPTS = '/var/lib/..../'</div><div><br></div><div>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 be different.</div>
<div><br></div><div>I could override those at import time but it will mean having to override the variable on each test module. </div><div><br></div><div>therefore I think a better solution will be to pollute the package a little with a flag to check this.</div>
<div><br></div><div>I'm thinking of something like</div><div><br></div><div>PATH_TO_SCRIPTS = '/this/value/will/never/be'</div><div><br></div><div>if <running in testing>:</div><div> PATH_TO_SCRIPTS = '../some_checkout'</div>
<div>else:</div><div> PATH_TO_SCRIPTS = '/var/lib/...../'</div><div><br></div><div>this will be at my module.__init__.py which means everything should work with either path specified as long as they contain some scripts.</div>
<div><br></div><div>Bonus points if someone could point out how to add a third flag to differentiate from development and testing.</div><div><br></div><div>BTW this is with unittest2 although I think the solution should be valid for all other testing tools. </div>