开发者

Cucumber Cleanup

开发者 https://www.devze.com 2022-12-13 10:44 出处:网络
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

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 thos开发者_StackOverflow社区e tests...

Any ideas?

Thanks! Cory Wilkerson


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.


Here's the definitino for the debug step I mentioned in the comment to Sam Livingston-Gray:

When /I want to debug/i do
  debugger
  true # never put debugger at the end of a method
end


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.)

0

精彩评论

暂无评论...
验证码 换一张
取 消