Tim Knapp wrote:
I would like to override the DateTime.DateTime class within my functional tests. I have tried mocking (via mocker) and injecting the subclassed DateTime class into sys.modules (results in a TraversalError). The fartherest I've gotten is to set DateTime.DateTime = MySubclassedDateTime in my tests.py, which does work for the code 'within' the package(s) I'm testing but all the Zope core code (i.e. the instance created within PloneTestCase) is still referencing the global DateTime module. Has anyone successfully done this?
You should take a look at testfixtures ;-) http://pypi.python.org/pypi/testfixtures Specifically, the @replace decorator for one test or the Replacer (to use in setUp and tearDown) NB: Make sure you replace it in the module where's *used*, not the module where it comes from... cheers, Chris -- Simplistix - Content Management, Zope & Python Consulting - http://www.simplistix.co.uk