Tim Peters wrote:
[Tim Peters]

...

More tests would be appreciated!  Since nobody looks at most of this code
most of the time, tests are the only reliable defense we have.  Jim
"confessed" last week that he deliberately didn't write TmpStore tests
originally because TmpStore is "an internal implementation detail".  You'll
note that the new test I added didn't mention TmpStore either, except in
comments.  For that matter, the new test didn't use FileStorage either (it
used MinimalMemoryStorage, which is a bare-bones storage used only in the
test suite).  Tests specifically against TmpStore would be welcome.

I wouldn't call what I said a "confession".  I still do think that
TmpStore *is* an internal implementation detail and that tests of
actual public functionality are more important.  I've seen lots of
cases in the past where internal components were tested directly with
the following disadvantages:

- test effort was wasted unnecessarily when implementation decisions were
  changed,

- It was often hard to tell which test tested essential functionality
  and which tested implementation accidents, this making refactoring more
  difficult.

I think tests should be writted for real external apis.  I think testing
internal implementation details is almost always waste of scarce resources.

Jim

--
Jim Fulton           mailto:[EMAIL PROTECTED]       Python Powered!
CTO                  (540) 361-1714            http://www.python.org
Zope Corporation     http://www.zope.com       http://www.zope.org
_______________________________________________
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev

Reply via email to