views:

139

answers:

2
+1  Q: 

Cucumber Cleanup

SO Folk,

Anyone around these parts know if you can keep Cucumber from cleansing test data at the end of a run? I've a few tests that continue to fail and I'd like to have a look at the data backing those tests...

Any ideas?

Thanks! Cory Wilkerson

A: 

A bit hackish, but as a last resort, maybe you could add a Then block called "Then pause tests" that either halts, or goes into a polling loop and doesn't continue until it sees some condition change (e.g., you touch /features/continue.txt)?

Stick "Then pause tests" in the test you want to look at, and you've got a way to inspect the database before it continues. Of course, this doesn't work if Cucumber uses database transactions...

(Sorry for the vagueness; it's been a while since I last used Cucumber.)

Sam Livingston-Gray
+2  A: 

In your features/support/env.rb file there are some comments about this. If you don't want to roll-back the database after a particular scenario has finished then add the @no-txn tag to the scenario. You will then need to clean the db yourself. The easiest way is to do a db:test:clone.

The best way to troubleshoot your issues would be to run the problem scenarios individually and see how each one is failing. If you do a run and have scenarios leaving data in the DB then you are going to cause yourself all kinds of problems. Once you have fixed the scenario then do a db:test:clone before you work on the next one or do a run.

JosephL
Thanks Joseph - precisely what I was looking for.