I found the problem. The new cookiecutter template adds into pytest.ini a different pattern than the old.
[pytest] testpaths = tests -python_files = *.py +python_files = test*.py thanks again, -silviu On Saturday, 19 December 2020 at 22:17:59 UTC-5 [email protected] wrote: > Hi Steve, > > Thanks for your answer - I found that this happens _only_ with pytest. > Adding this to test file > > if __name__ == '__main__': > unittest.main(verbosity=2) > > And run it as python test02/test.py collects the tests and its fine. > > I guess it has to do with the way pytest makes the import of the package. > I didn't find much yet ... testing with pdb. > > - silviu > > On Saturday, 19 December 2020 at 22:02:57 UTC-5 Steve Piercy wrote: > >> I don't know why you have this issue. However, the scaffolds generated >> from pcreate have been deprecated since Pyramid 1.8 and will be removed in >> Pyramid 2.0. Instead use its replacement pyramid-cookiecutter-starter. >> >> >> https://docs.pylonsproject.org/projects/pyramid/en/master/changes.html#id18 >> https://github.com/Pylons/pyramid-cookiecutter-starter >> >> --steve >> >> >> On 12/19/20 4:10 PM, [email protected] wrote: >> > Hello, >> > >> > I have the following structure (made with pcreate -t zodb) >> > >> > ├── CHANGES.txt >> > ├── Data.fs >> > ├── Data.fs.index >> > ├── Data.fs.lock >> > ├── Data.fs.tmp >> > ├── MANIFEST.in >> > ├── README.txt >> > ├── Test.fs >> > ├── Test.fs.index >> > ├── Test.fs.lock >> > ├── Test.fs.tmp >> > ├── development.ini >> > ├── production.ini >> > ├── pytest.ini >> > ├── setup.py >> > ├── test02 >> > │ ├── __init__.py >> > │ ├── models.py >> > │ ├── static >> > │ │ ├── pyramid-16x16.png >> > │ │ ├── pyramid.png >> > │ │ └── theme.css >> > │ ├── templates >> > │ │ └── mytemplate.pt >> > │ ├── tests.py >> > │ └── views.py >> > └── test02.egg-info >> > ├── PKG-INFO >> > ├── SOURCES.txt >> > ├── dependency_links.txt >> > ├── entry_points.txt >> > ├── not-zip-safe >> > ├── requires.txt >> > └── top_level.txt >> > >> > # test02/__init__.py >> > >> > from pyramid.config import Configurator >> > from pyramid_zodbconn import get_connection >> > from .models import appmaker >> > >> > >> > def root_factory(request): >> > conn = get_connection(request) >> > return appmaker(conn.root()) >> > >> > >> > def main(global_config, **settings): >> > """ This function returns a Pyramid WSGI application. >> > """ >> > config = Configurator(root_factory=root_factory, settings=settings) >> > settings = config.get_settings() >> > settings['tm.manager_hook'] = 'pyramid_tm.explicit_manager' >> > config.include('pyramid_chameleon') # included also in .ini >> > config.add_static_view('static', 'static', cache_max_age=3600) >> > config.scan() >> > return config.make_wsgi_app() >> > >> > >> > My test is quite simple >> > >> > # test02/tests.py >> > import unittest >> > >> > from pyramid import testing >> > from webtest import TestApp >> > from pyramid.paster import get_app >> > >> > >> > class FuncTests(unittest.TestCase): >> > def setUp(self): >> > app = get_app('development.ini') >> > self.testApp = TestApp(app) >> > >> > def tearDown(self): >> > testing.tearDown() >> > >> > def test_root(self): >> > r = self.testApp.get('/') >> > >> > # development.ini >> > [app:main] >> > use = egg:test02 >> > >> > pyramid.reload_templates = true >> > pyramid.debug_authorization = false >> > pyramid.debug_notfound = false >> > pyramid.debug_routematch = false >> > pyramid.default_locale_name = en >> > pyramid.includes = >> > pyramid_debugtoolbar >> > pyramid_zodbconn >> > pyramid_tm >> > pyramid_chameleon >> > >> > The view works fine but fails in testing. >> > >> > # test02/views.py >> > from pyramid.view import view_config >> > from .models import MyModel >> > >> > >> > @view_config(context=MyModel, renderer='templates/mytemplate.pt') >> > def my_view(request): >> > return {'project': 'test02'} >> > >> > >> > However if I run pytest test02/tests.py I get this error >> > >> > self = <pkg_resources.NullProvider object at 0x7f4aae5660a0>, path = >> '/home/silviud/PROGS/test02/test02/templates/mytemplate.pt' >> > >> > def _has(self, path): >> >> raise NotImplementedError( >> > "Can't perform this operation for unregistered loader type" >> > ) >> > E NotImplementedError: Can't perform this operation for >> unregistered loader type >> > >> > >> ../../Envs/test01/lib/python3.8/site-packages/pkg_resources/__init__.py:1472: >> >> NotImplementedError >> > >> > >> > Not sure what is wrong ... these are the versions I use >> > >> > pip show pkg_resources >> > Name: pkg-resources >> > Version: 0.0.0 >> > Summary: UNKNOWN >> > Home-page: UNKNOWN >> > Author: UNKNOWN >> > Author-email: UNKNOWN >> > License: UNKNOWN >> > Location: /home/silviud/Envs/test01/lib/python3.8/site-packages >> > Requires: >> > Required-by: >> > -- >> > pip show pyramid >> > Name: pyramid >> > Version: 1.10.5 >> > Summary: The Pyramid Web Framework, a Pylons project >> > Home-page: https://trypyramid.com >> > Author: Chris McDonough, Agendaless Consulting >> > Author-email: [email protected] >> > License: BSD-derived (Repoze) >> > Location: /home/silviud/Envs/test01/lib/python3.8/site-packages >> > Requires: plaster-pastedeploy, venusian, zope.interface, plaster, >> hupper, webob, translationstring, zope.deprecation, setuptools >> > Required-by: test01, pyramid-zodbconn, pyramid-tm, pyramid-mako, >> pyramid-jinja2, pyramid-debugtoolbar, pyramid-chameleon, test02 >> > -- >> > pip show pyramid_chameleon >> > Name: pyramid-chameleon >> > Version: 0.3 >> > Summary: pyramid_chameleon >> > Home-page: https://github.com/Pylons/pyramid_chameleon >> > Author: [email protected], Pylons & Pyramid community >> > Author-email: [email protected] >> > License: BSD-derived (http://www.repoze.org/LICENSE.txt) >> > Location: /home/silviud/Envs/test01/lib/python3.8/site-packages >> > Requires: Chameleon, pyramid >> > Required-by: test02 >> > >> > >> > thank you, >> > >> > -silviu >> > >> > -- >> > You received this message because you are subscribed to the Google >> Groups "pylons-discuss" group. >> > To unsubscribe from this group and stop receiving emails from it, send >> an email to [email protected] <mailto: >> [email protected]>. >> > To view this discussion on the web visit >> https://groups.google.com/d/msgid/pylons-discuss/7785515d-b0f0-42df-9d5b-492472d70c87n%40googlegroups.com >> >> < >> https://groups.google.com/d/msgid/pylons-discuss/7785515d-b0f0-42df-9d5b-492472d70c87n%40googlegroups.com?utm_medium=email&utm_source=footer>. >> >> >> >> -- You received this message because you are subscribed to the Google Groups "pylons-discuss" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/pylons-discuss/404a7ab7-6b0d-48b2-ac97-7bae825aa09cn%40googlegroups.com.
