Originally, JBehave was conceived by Dan North as a “thought experiment”, intended to illustrate the difference between testing using the language of TDD, and the language of BDD which treats tests as examples of behaviour. Dan found that talking about examples, responsibility and what classes should do helped encourage conversation with the business, as well as making it easier to teach the best TDD practices. I joined the JBehave team in 2004 and wrote large parts of the original code base.
With the arrival of JUnit 4.0 and Mockito, many of JBehave’s features were rendered redundant by these more robust implementations. The story framework, allowing scenarios to be written in plain English and run as automated acceptance tests, still had no mature implementation. But the original JBehave story framework was slow, unwieldy and unusable for most enterprise applications.
In 2007 David Chelimsky released a version of RSpec which allowed scenarios to be written in plain text and run using steps defined in code. In April 2008, after conversations and some spiking it out with Dan, I created a version for Java, rewriting JBehave from the ground up.
Mauro Talevi has now taken on much of the additional work, and made JBehave into a robust, enterprise-viable application, now in use at several companies around the world.
JBehave is a free, open-source product. You can find out more here.