I’ve always considered Cucumber to be just another tool in my developer’s toolkit of testing tools. Like RSpec, Test::Unit or MiniTest::Spec I thought of Cucumber as just another way to test my code: I would use RSpec for my unit tests, and Cucumber for my integration tests. While Cucumber’s business oriented scenario language seemed fun and innovative to me, I never really gave much thought to why Cucumber tests were written in such a verbose, elaborate way.
Then last week I had the chance to speak with Matt Wynne, co-author of The Cucumber Book: Behaviour-Driven Development for Testers and Developers, and a Behavior Driven Development (BDD) thought leader and coach. In a long and thoroughly entertaining conversation, Matt explained to me the fundamental ideas behind BDD and why Cucumber was designed the way it was. As you’ll see, Matt helped me to rethink how I’m using Cucumber in all of my projects.
I just posted the highlights of our conversation over on RubySource... possibly after reading this you’ll begin to reconsider the way you’re using Cucumber as well!