[Zope3-dev] Re: Deleting utilities in site management doesn't work
	correct
    Tres Seaver 
    tseaver at palladion.com
       
    Fri Oct  7 13:44:52 EDT 2005
    
    
  
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
jürgen Kartnaller wrote:
> Hi Tres,
> I would really like to make a test for this but I have no idea how to start.
> 
> It took me 10 minutes to fix the problem but I think it will take me 10
> hours to write the test.
> 
> If you can point me to a starting direction or just give me an example
> test somewhere I will give it a try !
Hmmm, the code in src/zope/app/component/browser has no tests at all.
There is a 'xxx_tests' directory, which looks to have a bunch of
now-invalid tests, moved aside by Stephan during servicegeddon.  I'll CC
him just in case some of those tests were supposed to come back online.
For your bug, I would start by writing a doctest for the tools.py
module, something like:
 1. Create a 'tests' subdirectory in the 'browser' directory, and
    give it an empty '__init__.py'::
    $ mkdir src/zope/app/component/browser/tests
    $ cat > src/zope/app/component/browser/tests/__init__.py
    # Python package
    ^D
 2. Add a 'tests/test_tools.py' module, with boilerplate to run
    the doctests in 'tools.txt':
    $ cat > src/zope/app/component/browser/tests/test_tools.py
    import unittest
    from zope.testing import doctest
    from zope.app.testing.placelesssetup import setUp
    from zope.app.testing.placelesssetup import tearDown
    def test_suite():
        return unittest.TestSuite((
        doctest.DocFileSuite('../tools.txt',
                             setUp=setUp,
                             tearDown=tearDown),
        ))
    if __name__ == "__main__":
        unittest.main(defaultTest='test_suite')
    ^D
 3. Start writing 'tools.txt', documenting the behavior of the
    methods of the SiteManagementView class.  You could write only
    a test for 'delete' first, which should fail until you apply
    your patch.  Look at 'src/zope/app/component/adapterregistry.txt'
    for an example doctest file.
    $ vim src/zope/app/component/browser/tools.txt
 4. Run the tests, iteratively, during development:
    $ python test.py -u zope.app.component.browser
 5. Check in the new tools.txt and tests/ directory:
    $ svn add src/zope/app/component/browser/tools.txt
    $ svn add src/zope/app/component/browser/tests
    $ svn commit -m "Ensure that SiteManagerView.delete doesn't\
    bite it's own tail."
Hope that helps,
Tres.
- --
===================================================================
Tres Seaver          +1 202-558-7113          tseaver at palladion.com
Palladion Software   "Excellence by Design"    http://palladion.com
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.5 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org
iD8DBQFDRrQU+gerLs4ltQ4RAiqgAJ92CMhb4xXbKwBecyHWITI0cd7v6QCgtWUW
pLrEv+UXgRcioeQvU6r7UI8=
=lfM7
-----END PGP SIGNATURE-----
    
    
More information about the Zope3-dev
mailing list