| That is an awesome idea. For me, the power of BDD (it's really still just TDD but let's not open that can of worms further...) is in the process. I'm not a fan of RSpec; however, I also find Steak just a little too minimalist for me. Occasionally, I want very badly to be able to render my Scenarios to plain text for communication with customers and other developers. I need the individual steps for that as well. Where the example here maintains the steps (eg., Given, when, and then) as comments, I prefer them in the code. So I wrote Coulda (http://coulda.tiggerpalace.com/) a bit over a year ago. Yes, it uses Test::Unit. While I am in the minority, I still prefer Test::Unit. It scales well. When I say that, I mean in the sense that I can write almost any test using just "assert" and then add an error message for when the assert fails. I don't limit myself to using solely "assert"; however, when I'm not sure how to write an assertion, and neither shoulda nor Test::Unit gives it to me, it's easy to build it using "assert" and then wrapping it in a method (making it a helper). And I still find Test::Unit code readable enough. Maybe that's just a matter of taste. Dare I add: RSpec, although cleaner with the release of RSpec 2.0, is still a very complicated swiss army knife. Miniunit, included in Ruby 1.9.1 but also available as a gem for older Ruby installs, is the basis for Test::Unit as Ruby moves forward. That is, Test::Unit inherits from Miniunit in Ruby 1.9. And Miniunit is far far simpler than RSpec. Update: I'll consider rolling a screencast of how I TDD w/ Coulda as a basis for comparison. |