[Zope] Overriding DateTime

Chris Withers chris at simplistix.co.uk
Mon Mar 23 08:45:06 EDT 2009


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


More information about the Zope mailing list