[Zope] Re: zope.testbrowser, how to?

Basil Shubin basil.shubin at gmail.com
Mon Feb 26 20:37:30 EST 2007


Basil Shubin wrote:
> Hi friends,
> 
> I want use zope.testbrowser for testing my sites, but before write it as 
> DocTest I want execute each statemnt interactively in python shell. I 
> don't know any way to see where it's works, what value it returns, what 
> error I can get and how this error should looks is python... It's why I 
> want check it in python shell.
> 
> What the problem?
> 
> First, if execute following code in python shell:
> 
>  >>> from zope.testbrowser import Browser
>  >>> browser = Browser()
>  >>> browser.open('http://localhost/Plone')
> 
> I have got:
> 
> Traceback (most recent call last):
>   File "<stdin>", line 1, in ?
>   File "/usr/lib/python2.4/site-packages/zope/testbrowser/browser.py", 
> line 220, in open
>     self.mech_browser.open(url, data)
>   File "/usr/lib/python2.4/site-packages/mechanize/_mechanize.py", line 
> 254, in open
>     return self._mech_open(url, data)
>   File "/usr/lib/python2.4/site-packages/mechanize/_mechanize.py", line 
> 277, in _mech_open
>     self._response = UserAgent.open(self, self.request, data)
>   File "/usr/lib/python2.4/urllib2.py", line 358, in open
>     response = self._open(req, data)
>   File "/usr/lib/python2.4/urllib2.py", line 376, in _open
>     '_open', req)
>   File "/usr/lib/python2.4/urllib2.py", line 337, in _call_chain
>     result = func(*args)
>   File "/usr/lib/python2.4/site-packages/zope/testbrowser/testing.py", 
> line 112, in http_open
>     return self.do_open(PublisherConnection, req)
>   File "/usr/lib/python2.4/urllib2.py", line 993, in do_open
>     h.request(req.get_method(), req.get_selector(), req.data, headers)
>   File "/usr/lib/python2.4/site-packages/zope/testbrowser/testing.py", 
> line 69, in request
>     self.response = self.caller(request_string, handle_errors)
>   File 
> "/usr/lib/python2.4/site-packages/zope/app/testing/functional.py", line 
> 573, in __call__
>     environment)
>   File 
> "/usr/lib/python2.4/site-packages/zope/app/testing/functional.py", line 
> 606, in chooseRequestClass
>     return chooseClasses(method, environment)
>   File 
> "/usr/lib/python2.4/site-packages/zope/app/publication/httpfactory.py", 
> line 33, in chooseClasses
>     factory = factoryRegistry.lookup(method, content_type, environment)
>   File 
> "/usr/lib/python2.4/site-packages/zope/app/publication/requestpublicationregistry.py", 
> line 97, in lookup
>     raise ConfigurationError('No registered publisher found '
> zope.configuration.exceptions.ConfigurationError: No registered 
> publisher found for (GET/)
> 
> Second, if I add Zope src dir into PYTHONPATH, than I got following:
>  >>> from zope.testbrowser import Browser
> Running tests at level 1
> Total: 0 tests, 0 failures, 0 errors
> 
> and than it drops me out from python shell.
> 
> So, question is: suppose I don't know what value/error I can/should 
> recive after each statement, so how can I write DocTest? I need somehow 
> to know to what I should expect, but how?

So is there any solution? Can anybody give me any guidlines about what 
is correct way to write functional test and test this test. Yes, I have 
read docs about testing Plone, but above problems still remain unsolved 
for me...

And how I can predict what should happens after each statement...?

Thanks!



More information about the Zope mailing list