Has anyone worked with pmock (http://pmock.sourceforge.net/) or any
other mock framework?
This would let me do real unit testing without the need of creating any
test data or re-run any "already tested" objects.
Here's my test and controller, but I don't know how to bypass the error
below. AFAIK it fails because Root extends controllers.RootController?
How would I mock this?
test_pmock.py:
from turbogtd.controllers import Root
from pmock import *
#Create Root
root = Root()
#Create mocks
root.cherrypy = Mock()
root.cherrypy.session = Mock()
#set expectations
root.cherrypy.session.expects(once()).get(eq('count'),eq(0))
#call controller
root.index()
----
controllers.py:
class Root(controllers.RootController):
@expose(template="turbogtd.templates.welcome")
def index(self):
count = cherrypy.session.get('count', 0) + 1
return dict()
----
C:\projects\turboGTD>python turbogtd/tests/test_pmock.py
Traceback (most recent call last):
File "turbogtd/tests/test_pmock.py", line 21, in ?
root.index()
File "<string>", line 3, in index
File
"c:\python24\lib\site-packages\TurboGears-0.9a8-py2.4.egg\turbogears\controllers.py",
line 323, in expose
accept = cherrypy.request.headers.get('Accept', "").lower()
File
"c:\python24\lib\site-packages\CherryPy-2.2.1-py2.4.egg\cherrypy\__init__.py",
line 42, in __getattr__
childobject = getattr(serving, self.__attrname__)
AttributeError: 'thread._local' object has no attribute 'request'
cheers,
atwork
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"TurboGears" group.
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/turbogears
-~----------~----~----~----~------~----~------~--~---