Tuesday, January 22, 2008

Debugging Fitnesse Tests

Fitnesse is a great tool for end-to-end acceptance tests used to confirm a feature or story you're working on.  It's not a perfect tool, but then what is?

Fitnesse Fixtures, the goo between test tables and your system under test, can be a bit convoluted and often require some debugging.  (Maybe test driven test development would solve this.  Then I could write tests to test the tests I'm writing.  But then who would test those test tests?  I digress.)

Debugging fixtures takes just a couple steps to set up.

On your Fitnesse fixture project's property sheet, set up debugging as shown below.

The external program needs to point to TestRunner.exe in your .NET Fit distro.  The command line args point to the host (localhost), port (8081), and the page your tests are located on (TkoTestSuite).  Note that parameter is not the assembly or fixture name!  You just need the page name relative from the Fitnesse root.

Make sure that your FitServer process is running.  Set your fixture project as the startup project, set a breakpoint in your code, hit F5, and you're off.  Normally Studio would whine and complain that you can't start a class library project, but you're firing off the TestRunner.exe program in debug mode so everything's shiny.

Voila!

1 comment:

Jon Hurd said...

Hi. I am using testrunner as you have described but I am having some trouble with the config file that my test requires.

At the moment I need to save a copy of TestRunner.exe.config into the directory that holds TestRunner which is not ideal. When running normal fitnesse tests from the wiki the system picks up the fact that I have specified a different location for FitServer.exe.config using the !path syntax in the wiki page.

Any ideas on how to fix this problem will be greatfully received.

thanks

Subscribe (RSS)

The Leadership Journey