The most impressive thing that I saw at Agile 2008 was Aslak Hellesoy’s unveiling of cucumber. Cucumber is meant to replace the rspec story syntax with a format that is targeted towards non-technical test authors. I think that cucumber is going to go a long way to making it very easy for non-developers to write very tests very easily.
I have been working with cucumber a lot since I saw the Aslak’s presentation. I have forked the project on github with the hope of adding a way to turn off the colored output. It causes issues when running cucumber with jRuby on Win32. This is because the ruby gem that adds support for ansi colors in the Win32 console requires a C extension, which jRuby does not support.
I have created an additional sample that I need to push to my github repository. I added a sample that calls .NET code with the assistance of the rubydotnet project (careful, there are two). I would have liked to use IronRuby, but it is just not far enough along, and I was not willing to wait for it to get there. Before trying the rubydotnet project, I also tried creating a Java stub for a .NET assembly using IKVM. I did not have much success with that route. I have a feeling that I was having classpath issues, but after a few hours of trying, my patience ran out.
I will leave a note here when after I post the additional sample. The sample will include a readme file explaining all of the dependencies that are needed. The sample will also include the Rakefile that I have been using. That should go up some time this weekend.
I have even started using cucumber on one of my projects at work. It has really come in handy. Writing functional tests is just dead simple.
Sometime this week I hope to write another sample demonstrating how to use cucumber to test Objective-C code using RubyCocoa. I have been trying to get cucumber to work with MacRuby, but that is going to have to wait until gem support is working. Or until I get a better understanding of the inner workings of Ruby. That would not exactly be a bad thing.
Oh, one last cucumber note. I have plans to create a Fit/Fitness style web application that acts as a repository for cucumber tests and provides a built in editor for writing them. I think that with a project like that around, cucumber would really be able to take off. And that is something that I would really like to push for.
Writer’s note: I typically would have gone through this post and linked to all of the things that I am talking about, but I am feeling a little lazy. I also need to hurry up and get on the road. I am hanging out at a campground in Lurary, VA. One of my really good friends has driven his RV there. It should be a weekend filled with good fun. But it will not start unless I get moving. So yeah, long story short, I will update this post later with links.