[Grok-dev] How does one unittest a view?

Wichert Akkerman wichert at wiggy.net
Wed Apr 8 10:11:47 EDT 2009

On 4/8/09 4:07 PM, Uli Fouquet wrote:
> Hi there,
> Wichert Akkerman wrote:
>> How can you unittest a view? Trying to instantiate a view in a testcase
>> fails when the constructor tries to access self.__view_name__ and
>> self.module_info.
> Maybe something like this?
> :test-layer: unit
>      >>>  import grok
>      >>>  grok.testing.grok('sample')

That groks the whole sample package, right? I do not want that, since 
that can have all kinds of effects. What I am looking for is the very 
minimal thing that allows me to instantiate a view so I can call methods 
on it. Currently I use this:

     def setUp(self):
         # grok makes unit testing extremely painful
         View.__view_name__ = "iew"

     def tearDown(self):
         del View.__view_name__
         del View.module_info

     def testSomething(self):
         view=View(model, None)
         # Do the tests here

which works, but is not quite optimal


-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.zope.org/pipermail/grok-dev/attachments/20090408/79591dbb/attachment-0001.html 

More information about the Grok-dev mailing list