2011/5/17 Martin Aspeli <[email protected]>
> Hi,
>
> On 17 May 2011 05:29, Noe Nieto <[email protected]> wrote:
> > Hi all,
> > I'm doing some doctests wih plone.app.testing and finally reached an
> error
> > that I don't quite understand:
> > Traceback caused on doctest:
> >
> ---------------------------------------------------->8-----------------------------------------------------
> > Failed example:
> > browser.open(portal_url + '/login_form')
> > Exception raised:
> > Traceback (most recent call last):
> > File "/usr/lib/python2.7/doctest.py", line 1254, in __run
> > compileflags, 1) in test.globs
> > File "<doctest README.txt[12]>", line 1, in <module>
> > browser.open(portal_url + '/login_form')
> > File
> >
> "/home/tzicatl/Aplicaciones/Buildout/egss/zope.testbrowser-3.11.1-py2.7.egg/zope/testbrowser/browser.py",
> > line 240, in open
> > self.mech_browser.open(url, data)
> > File
> >
> "/home/tzicatl/Aplicaciones/Buildout/egss/mechanize-0.2.5-py2.7.egg/mechanize/_mechanize.py",
> > line 203, in open
> > return self._mech_open(url, data, timeout=timeout)
> > File
> >
> "/home/tzicatl/Aplicaciones/Buildout/egss/mechanize-0.2.5-py2.7.egg/mechanize/_mechanize.py",
> > line 230, in _mech_open
> > response = UserAgentBase.open(self, request, data)
> > File
> >
> "/home/tzicatl/Aplicaciones/Buildout/egss/mechanize-0.2.5-py2.7.egg/mechanize/_opener.py",
> > line 193, in open
> > response = urlopen(self, req, data)
> > File
> >
> "/home/tzicatl/Aplicaciones/Buildout/egss/mechanize-0.2.5-py2.7.egg/mechanize/_urllib2_fork.py",
> > line 344, in _open
> > '_open', req)
> > File
> >
> "/home/tzicatl/Aplicaciones/Buildout/egss/mechanize-0.2.5-py2.7.egg/mechanize/_urllib2_fork.py",
> > line 332, in _call_chain
> > result = func(*args)
> > File
> >
> "/home/tzicatl/Aplicaciones/Buildout/egss/Zope2-2.13.6-py2.7.egg/Testing/testbrowser.py",
> > line 83, in http_open
> > return self.do_open(PublisherConnection, req)
> > File "/usr/lib/python2.7/urllib2.py", line 1154, in do_open
> > h.request(req.get_method(), req.get_selector(), req.data,
> headers)
> > File
> >
> "/home/tzicatl/Aplicaciones/Buildout/egss/zope.testbrowser-3.11.1-py2.7.egg/zope/testbrowser/testing.py",
> > line 76, in request
> > self.response = self.caller(request_string, handle_errors)
> > File
> >
> "/home/tzicatl/Aplicaciones/Buildout/egss/Zope2-2.13.6-py2.7.egg/Testing/ZopeTestCase/functional.py",
> > line 38, in wrapped_func
> > return func(*args, **kw)
> > File
> >
> "/home/tzicatl/Aplicaciones/Buildout/egss/Zope2-2.13.6-py2.7.egg/Testing/ZopeTestCase/zopedoctest/functional.py",
> > line 193, in http
> > sync()
> > File
> >
> "/home/tzicatl/Aplicaciones/Buildout/egss/Zope2-2.13.6-py2.7.egg/Testing/ZopeTestCase/zopedoctest/functional.py",
> > line 115, in sync
> > getRootFolder()._p_jar.sync()
> > AttributeError: 'NoneType' object has no attribute '_p_jar'
>
>
> I assume you're using zope.testbrowser - can you show the code that
> creates the Browser object?
>
> I wonder if you're using Products.Five's version; you need to use
> zope.testing.z2's version - see plone.app.testing/plone.testing docs.
>
>
Thanks Martin, that was the issue. Also, as a side note, I needed to install
python-profiler in Ubuntu to avoid an import error.
> Martin
>
> >
> ---------------------------------------------------->8-----------------------------------------------------
> > My test are arranged in two files inside a 'test' package. The file
> base.py
> > contains this.
> >
> ---------------------------------------------------->8-----------------------------------------------------
> > from plone.app.testing import quickInstallProduct
> > from plone.app.testing import IntegrationTesting, FunctionalTesting
> > from plone.app.testing import PloneSandboxLayer
> >
> > class MyFixture(PloneSandboxLayer):
> > def setUpPloneSite(self, portal):
> > quickInstallProduct(portal,'my.package')
> >
> > LW_FIXTURE = MyFixture()
> > # FunctionalTesting will create a stacked DemoStorage for each test and
> pop
> > it on test tear- down
> > LW_FUNCTIONAL_TESTING = FunctionalTesting(bases=(LW_FIXTURE,),
> > name="MyFixture:Functional")
> >
> ---------------------------------------------------->8-----------------------------------------------------
> > And ther's also a test_doctests.py
> >
> ---------------------------------------------------->8-----------------------------------------------------
> > import unittest
> > import doctest
> > from plone.testing import layered
> > from libroweb.coretypes.tests import base
> >
> > def test_suite():
> > suite = unittest.TestSuite()
> > suite.addTests([
> > layered(doctest.DocFileSuite('README.txt', package='my.package',
> >
> > optionflags=doctest.REPORT_ONLY_FIRST_FAILURE |
> > doctest.NORMALIZE_WHITESPACE |
> > doctest.ELLIPSIS),
> > layer=base.LW_FUNCTIONAL_TESTING),
> > ])
> > return suite
> > if __name__ == '__main__':
> > unittest.main(defaultTest='test_suite')
> >
> ---------------------------------------------------->8-----------------------------------------------------
> >
> > What is that '_p_jar' attribute?
> > My test fixture is a subclass of plone.app.testing.PloneSandboxLayer,
> > AFAICT, I should not have any problem with persistency or stuff like
> that.
> > any hints?
> >
> > --
> > ---
> > Noe Nieto
> > NNieto Consulting Services
> > M: [email protected]
> > W: http://noenieto.com
> > T: @tzicatl
> > Li: Perfil en LinkedIn
> >
> >
> > _______________________________________________
> > Product-Developers mailing list
> > [email protected]
> > https://lists.plone.org/mailman/listinfo/plone-product-developers
> >
> >
>
_______________________________________________
Product-Developers mailing list
[email protected]
https://lists.plone.org/mailman/listinfo/plone-product-developers