Monday, 15 September 2014

python - Mocking render to response with Pyramid -



python - Mocking render to response with Pyramid -

i have decorator looks so:

def validate_something(func): def validate_s(request): if request.property: render_to_response('template.jinja', 'error' homecoming func(request) homecoming validate_something

i'm trying test so. load local wsgi stack app.

from webtest import testapp def setup(self): self.app = testapp(target_app()) self.config = testing.setup(request=testing.dummyrequest) def test_something(self): def test_func(request): homecoming 1 request = testing.dummyrequest() resp = validate_something(test_func(request)) result = resp(request)

the error i'm getting (being generated @ innermost render_to_response):

valueerror: no such renderer mill .jinja

i understand need mock render_to_response, i'm @ bit of loss how that. if has suggestions, appreciate it.

mock library awesome:

mock provides core mock class removing need create host of stubs throughout test suite. after performing action, can create assertions methods / attributes used , arguments called with. can specify homecoming values , set needed attributes in normal way.

additionally, mock provides patch() decorator handles patching module , class level attributes within scope of test

youc code this:

def test_something(self): test_func = mock.magicmock(return_value=1) # replaced stub function mock request = testing.dummyrequest() # patching pyramid method mock mock.patch('pyramid.renderers.render_to_response' r2r: resp = validate_something(test_func(request)) result = resp(request) assert r2r.assert_called_with('template.jinja', 'error')

python mocking pyramid python-unittest python-decorators

No comments:

Post a Comment