[rspec-users] [Cucumber] ANN: Cucumber with pure Java
Ben Mabey
ben at benmabey.com
Wed Mar 25 13:18:31 EDT 2009
On Mar 25, 2009, at 9:08 AM, aslak hellesoy wrote:
> 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:
>
> * README for example: http://github.com/aslakhellesoy/cucumber_java/tree/271160300da5bc9275dd67624f711c5ea6913187/examples/simple
> * Some sample step defs: http://github.com/aslakhellesoy/cucumber_java/blob/271160300da5bc9275dd67624f711c5ea6913187/examples/simple/src/main/java/simple/StuffSteps.java
> * The main page: http://github.com/aslakhellesoy/cucumber_java/tree/master
>
> 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!
>
> (::) Aslak (::)
>
> (1) You still need a tiny bit of Ruby to register step definitions: http://github.com/aslakhellesoy/cucumber_java/blob/271160300da5bc9275dd67624f711c5ea6913187/examples/simple/features/support/env.rb
> (This will hopefully go away in the future, with some better Ant and
> Maven support).
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.
-Ben
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://rubyforge.org/pipermail/rspec-users/attachments/20090325/212802a7/attachment-0001.html>
More information about the rspec-users
mailing list