Tim Knapp, on 2009-03-26: > 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.
A few years ago at Zest Software we needed a patch (for Archetypes I think) and hit the same problem that our product was too late in the startup process to have enough influence. So we put the patch in a product called (Products.)AAAPatch; affectionately called triple A patch. :-) Due to the three A-s at the beginning it was virtually guaranteed to be the first product to load. -- Maurits van Rees | http://maurits.vanrees.org/ Work | http://zestsoftware.nl/ "This is your day, don't let them take it away." [Barlow Girl] _______________________________________________ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )