Chris Withers wrote:
I'm just starting to play with zope.testbrowser's testing.Browser but I notice that is uses the following packages:
transaction zope.app.testing zope.app.folder zope.app.component
...but zope.testbrowser doesn't declare any dependency on these.
It does, using the "extras" mechanism you mention below.
It probably should in some way, but I can see why it doesn't currently, give nthat there are likely lots of zope.testbrowser users who have to interested in zope.testbrowser.testing.Browser.
Is this something that we can solve with: http://peak.telecommunity.com/DevCenter/setuptools#declaring-extras-optional...
If it is, I guess we would add an extra_requires to zoep.testbrowser's setup.py with the packages listed above?
If you had a look at zope.testbrowser/setup.py, you'd notice extras_require = dict( test = ['zope.interface', 'zope.schema', 'zope.app.component', 'zope.app.folder', 'zope.app.testing', 'zope.app.zcmlfiles', 'zope.app.securitypolicy', ], ),
Would the following then work in a buildout:
[test] recipe = zc.recipe.testrunner
eggs = mypackage zope.testbrowser[testing.Browser]
zope.testbrowser [test]