Hi,

In a view I use request.current_route_url() because I want it in the 
returned dict.

@view_config(route_name='my_view', renderer='templates/my_view.pt')
def my_view(request):
   ....
   ....
   return dict(....,url=request.current_route_url())

It works properly in a 'production' context but raises an exception in a 
unittest:

class ViewIntegretionTest(unittest.TestCase):

    def setUp(self):
        self.request = testing.DummyRequest()
        self.config = testing.setUp(request=self.request)
        from sqlalchemy import create_engine
        engine = create_engine('sqlite://')
        DBSession.configure(bind=engine)
        Base.metadata.create_all(engine)
   
   def test_my_view(self):
        def callable(config):
            config.add_route('my_view', '/my_view')
        self.config.include(callable)
        from myapp.views import my_view
        response = my_view(self.request)
       
    def tearDown(self):
        DBSession.remove()
        testing.tearDown()

This raises the following exception:

Traceback (most recent call last):
  File "d:\envs\myapp_env\myapp_repo\myapp\tests\test_views\tes
t_myview.py", line 16, in test_my_view
    response = my_view(self.request)
  File "d:\envs\myapp_env\myapp_repo\myapp\views.py", line 42,
in my_view
    request.current_route_url()
  File "d:\envs\myapp_env\pyramid-1.3\pyramid\url.py", line 677, in curre
nt_route_url
    raise ValueError('Current request matches no route')
ValueError: Current request matches no route

I suppose I don't initialize the testing environment properly.......any 
help ?

Thanks.

-- 
You received this message because you are subscribed to the Google Groups 
"pylons-discuss" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/pylons-discuss/-/A63g588V6P0J.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/pylons-discuss?hl=en.

Reply via email to