[TIP] Testing the Fixture?

Titus Brown titus at caltech.edu
Thu Nov 22 10:00:34 PST 2007


On Thu, Nov 22, 2007 at 12:47:56AM -0800, iain duncan wrote:
-> On Wed, 2007-21-11 at 22:00 -0800, Titus Brown wrote:
-> > -> > I, however, would argue that this is a bad idea: tests should fail or
-> > -> > they should succeed.  Having code that relies on local code trickiness
-> > -> > to ignore or halt successive tests seems like a fantastic way to lose
-> > -> > test code.
-> > -> 
-> > -> Ok, I'll take your advice on that then. However, I'm getting a hang from
-> > -> nose when I make it fail in the module setup. I get the output that it
-> > -> failed on 0 tests, but then nose won't exit. Any idea what the below
-> > -> should be instead?
-> > 
-> > CherryPy is Evil.  Its threading is causing your problems.
-> 
-> Yes, it appears connected to the fact that the cherrypy server doesn't
-> stop. Is that because a failed assertion in module level start up means
-> module level tear down doesn't happen?

yep, although I tend to run into problems with CherryPy and threading
anyway, so I have been most interested in finding other ways of
interacting with a CherryPy server in my tests.

-> > Meet my leetle friend, wsgi_intercept:
-> > 
-> > 	http://ivory.idyll.org/articles/twill-and-wsgi_intercept.html
-> > 
-> > Incidentally, the maintainer of wsgi_intercept is a fella named Kumar
-> > McMillan, who is also on this list.
-> 
-> Hmm, I was trying that out, and followed your tutorial on it, but I
-> couldn't get twill command driven page-to-page visits with session
-> variables working. I could try again I suppose, but I at least finally
-> got my test working with CP for now. ( I have a shopping system in
-> development that stores one session var as the key to the cart.) Do you
-> know if it's possible to use the wsgi intercept technique with the
-> intercept built in setup, lasting through the tests, and using session
-> vars? 

Hmm, it should be... I'm not sure what you mean by session var -- twill
variable? Cookie?  If it's a cookie, then you may need to use

	execute_file(..., no_reset=True)

or at least that's what my source code seems to say ;)

cheers,
--titus



More information about the testing-in-python mailing list