Impressions of Fitnesse With .NET for Acceptance Testing

After using FitNesse for the last several months I can say the following:

  • The documentation is quite limited especially when it comes to working with .NET.  Lots of trial an error involved for any novice.
  • How lucky am I to have Mike Stockdale, the principal developer of FitSharp, working on the project to show the team a variety of useful tricks?  I don’t think we would have been successful with FitNesse without him.
  • Technical product owners are able to write and troubleshoot their own tests using the wiki once the right test fixtures are in place.  Very nice.
  • Our tests generate lots of XML that the product owners review from time to time so I decided to add syntax highlighting via google’s prettifier javascript.  FitNesse uses velocity templates so it should have been easy to do.  Although I was able to get syntax highlighting working on the test history page, velocity is not used to generate the live test results so I couldn’t get it working there.  Bummer.  Have to find time to contribute a fix given that the velocity feature is no longer in active development.
  • Integrating FitNesse with TeamCity is easy as long as you don’t care about integrating the test counts.  Wrote a little MSBuild step that takes care of this.  Note to self: document and release as open source to help others.
  • Integrating FitNesse with TeamCity’s built-in code coverage has proved impossible thanks to the tests running under Java.  Oh well.
  • Database setup and FitNesse add substantial overhead to the acceptance test suite so it take several minutes to run.  Our extensive unit test suite remains fast partially because integration/acceptance tests run under FitNesse so this is not a big deal.
  • I have looked at alternatives like SpecFlow but remain convinced that FitNesse is about the only automated acceptance testing tool that is approachable for non-programmers.  For example, although  most product owners can write Gherkin specs for SpecFlow,  I don’t think they could easily run and troubleshoot tests like they can with FitNesse.  Therefore, I will continue to use FitNesse for acceptance testing on future projects.

Author: Tom Cabanski

Software Developer and Entrepreneur