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.