I just asked Stefan, and apparently my outline is a little off. He
says that (1) test cases starting a full transaction rather than a
subtransaction, and (2) modules don't start new transactions; rather, the
tests all use a DemoStorage and don't touch your ZODB. Again, I may not
have this quite right, but you get the idea.
Here's more info about the inner workings of ZopeTestCase:
Zope-CMF maillist - Zope-CMF@lists.zope.org
See http://collector.zope.org/CMF for bug reports and feature requests