Big news for all Java programmers out there.
Now you can use Cucumber with pure Java!
That’s right, you don’t have to write a single line of Ruby! (1)
All of your step definitions can be written as annotated methods in
POJOs
(Plain Old Java Objects).
To get a taste of what this looks like, check out the simple example in
the
cucumber_java project on GitHub:
By this I hope Cucumber will reach a bigger crowd. Much bigger crowd
actually - this will work for Scala, Clojure, Jython and all the
other
cool JVM languages too.
(I’ll be doing something similar for .NET, which will bring Cucumber
goodness to C#, F# and whatever languages run on .NET. But IronRuby must
catch up on speed first).
I had the pleasure of going back to visit PicoContainer - a pioneering
lightweight dependency injection container I developed with Paul Hammant
back in 2003. It’s still lightweight and a joy to use (relatively
speaking -
Java in itself isn’t joyful). Cucumber-java uses PicoContainer to
instantiate the POJOs that define the annotated step definition methods,
so
if you’re so inclined, these classes can depend on each other via
constructor DI, and PicoContainer just figures out how to instantiate
the
objects).
So if you’re working on a Java project, have been looking at Cucumber
but
stayed away because of all the weird Ruby, this is your chance. Here is
a
cuke for Duke!
Very cool stuff. It would be an interesting and informative exercise
to take a JBehave tutorial and use Cucumber to drive out the same
feature and then have a side-by-side comparison of the required step
definitions. I found this JBehave tutorial which would make a good
candidate for such a comparison: http://www.ryangreenhall.com/articles/bdd-by-example.html
If someone doesn’t get around to this in the next couple of weeks I
may take a stab at it and make a blog post of it.
To get a taste of what this looks like, check out the simple
Cucumber goodness to C#, F# and whatever languages run on .NET. But
Very cool stuff. It would be an interesting and informative
exercise to take a JBehave tutorial and use Cucumber to drive out
the same feature and then have a side-by-side comparison of the
required step definitions. I found this JBehave tutorial which
would make a good candidate for such a comparison: ryangreenhall.com
I skimmed it, and it looks like a great tutorial. A comparison would
be very interesting.
To get a taste of what this looks like, check out the simple example in the
cool JVM languages too.
constructor DI, and PicoContainer just figures out how to instantiate the
(This will hopefully go away in the future, with some better Ant and Maven
a stab at it and make a blog post of it.
I’m assuming you mean w/Java, but I’d like to encourage folks who are
learning BDD to walk through his example even with Ruby. I did that
tonight and it was quite pleasant. The tutorial is small and focused,
and it can be completed in not much time. However, the tutorial does
leave out some implementation that you would need in order to actually
complete it, but I find those sorts of things fun to figure out.
Translating Ryan’s tutorial to Ruby allows you to explore writing
rspec simple matchers (or full fledged matchers) if you want to go
that route, and overall I found it fun to go through it and practice
my own skills.
I know it’s not the comparison Ben and Aslak are talking about, but
for those of you who are looking for a good little tutorial to walk
through and practice with, this one is pretty good if you are somewhat
familiar with Cucumber, RSpec, and Ruby,
None of these example links are working,can you please check?
Thanks for your help,
Kedar
Ben M.-2 wrote:
By this I hope Cucumber will reach a bigger crowd. Much bigger crowd
java uses PicoContainer to instantiate the POJOs that define the
(1) You still need a tiny bit of Ruby to register step definitions: ryangreenhall.com http://rubyforge.org/mailman/listinfo/rspec-users