Related Articles


  1. Hi Richard

    I like the cucumber concept alot. Its my favourite tool for test at the moment.

    However I’m not that keen on the implementation. I find the ruby cucumber test runner slow (esp under IronRuby), cryptic, and frustrating. And another problem is that for lots of .Net people is that they get frightened of the ruby part. their loss I’m sure but you know what some people are like!

    So where I’m going with this comment is: what are your thoughts on a fully native .net runner? Maybe even with a GUI to tempt all those windows developers?


    1. @Mike – The point of the wire protocol implementation we used for cuke4nuke was to avoid IronRuby, precisely because it’s slower than MRI (the normal Ruby interpreter). If IronRuby were fast enough, we would have used it the same way cuke4duke uses JRuby to run Java step definitions in-process. Aslak is talking about doing an all-Java version cuke4duke to remove the Ruby dependency there. I may do the same for .NET after seeing how that works out. For now, running cuke4nuke with IronRuby is far from optimal. I recommend using MRI instead.

      For an all-.NET alternative today, you might look at SpecFlow, a cucumber-style tool that uses the same Gherkin parser. They’ve focused heavily on Visual Studio integration, so you might find the runner more to your liking (it generates unit tests, so you just use any unit test runner).

  2. @Richard

    Could you tell me can I write feature file and step def for my application written in MFC.
    Client sever application

    1. @MF – It depends very much on how your application is designed and at what level you’d like to automate it. I have one client who tests their C/C++ app from Ruby Cucumber via a Ruby to custom-RPC interface they created. Others test their app through a service layer. I don’t know whether there are libraries to automate MFC apps through the GUI. The bottom line is that if you can drive your app somehow from Ruby, Java, or C#, you can test it with Cucumber. Step definitions are essentially just methods.