[Zope] Overriding DateTime

Tim Knapp duffyd at kokorice.org
Wed Mar 25 21:09:33 EDT 2009


On Wed, 2009-03-25 at 21:20 +0100, Dieter Maurer wrote:
> Tim Knapp wrote at 2009-3-23 18:21 +1300:
> >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?
> 
> "import DateTime; DateTime=<myDateTimeClass>" should be able
> to replace the "DateTime" class -- sometimes.
> 
> 
> Be aware, however, that this replacing takes effect only after
> your assignment. Modules that already have imported the "DateTime"
> class will not be affected.

Thanks, yeah that was what I thought. I tried to do it in the _setup
method of PloneTestCase, which theoretically gets called before the
instance is runup but maybe not. Didn't seem to affect the Zope instance
itself anyway.

-Tim

> 
> 



More information about the Zope mailing list