As I've understood it, there's a couple of cases when you may want to use FitNesse.
- You want to do acceptance testing rather than unit testing.
- You want to use it as a communication tool with the stake holder.
- You want to do large scale tests rather than granular tests.
- You want non-technical people to write the tests.
My personal opinion and experience is:
- I can do acceptance testing using tools such as NUnit. Fitnesse is basically just a framework for calling public methods on a .NET assembly, which can be done using NUnit to.
- The stakeholders tell me what they want. They are rarely interested in writing Fitnesse tests. They seem to have other/better/more important things to do.
- You could do large scale tests using FitNesse. As far as I know, you would have to enter all input for these large scale tests into a plain text editor in a web browser. How would this be easier than reading the input data from a text file on disk, or an excel file or a database? Sure, you could specify the path to the file on disk in the web interface, but what benefit would this give over using NUnit to read that same file?
- These non-technical people have to write code following a very specific syntax in a text editor on a web site, which will call .NET assemblies later on. The .NET code gets messy, since the non-technical person doesn't know programming but he's still specifying how the assembly should work.
Can someone share some other opinions on the subject? How have FitNesse been valuable to you?