Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News Experience Report: Running FIT and Fitnesse with Ruby

Experience Report: Running FIT and Fitnesse with Ruby

Ron Jeffries and Chet Hendrickson are widely-recognized contributors to the Extreme Programming community.  Yesterday Ron wrote about their experience installing and configuring Ruby/Fit, then Fitnesse on top of it  This article is part of a continuing series one could call "Extreme Programming Adventures in Ruby", after Ron's last book by a similar name.  It chronicles a story similar to my own when I attempted the same thing a few months ago.

In this article, you can see how Ron and Chet...
  • download and install the latest version of Fitnesse
  • find out the hard way what software Fitnesse depends on
  • install Ruby/Fit, now available as a Rubygem
  • create web pages in Fitnesse for tests
  • use the built-in fixtures that ship with Ruby/Fit
  • write their own custom fixture Ruby
In typical Ron Jeffries style, you get an entire blow-by-blow account, mostly unedited.  Every mistake, every triumph, every bit of learning.  While they don't write any code for any particular application or project, the fact that it takes them more than one sitting to set up Ruby/Fit and Fitnesse reminds us that development infrastructure requires real effort to set up, and we should not take that effort for granted.  In a similar vein, a regular activity is emerging in Pittsburgh, Pennsylvania where attendees come to spend the day learning how to set up complete development environments and deploy an empty application on various platforms, such as Windows/Websphere/DB2 and LAMP.  For agile practitioners, this is essential "Iteration 0" work.

As usual, Ron and Chet's explorations end with more questions than answers.  Ron writes:
  • We haven't built any real model code.  Right now, our fixtures are doing the work.  Frankly, I like that fact.  When I've seen teams using Fit or FitNesse, they often have built some object or objects, and start trying to build a fixture that interfaces to those objects.  It can take a long time before the test runs.  Working as we did, it's a lot like the "fake it till you make it" practice in Test-Driven Development.  Our test runs ... it's just not talking to many real objects yet.
  • We need to learn more about fixtures.  There aren't many fixtures available for Ruby Fit / FitNesse.  If we get smarter than we are right now, maybe we can get involved in trying to create some. In any case, we need to learn what's there and how to use them.
  • We should take a look at how to organize tests and what to do with them.  That will require us to figure out some little kind of application.
  • ... and probably much, much more ...
Ron Jeffries site has an RSS feed if you'd like to follow the ongoing saga.  You just might learn a thing or two.

Rate this Article