Home - essenius/FitNesseFitSharpFeatureDemos GitHub Wiki

Welcome to the FitNesseFitSharpFeatureDemos wiki!

Using the FitNesse Wiki

In the GameManagementDemo we saw a bird’s eye view of the FitNesse capabilities using the SLIM protocol. It focused on the test execution side, answering questions as to what kind of tests can you make with FitNesse, how you wire these tests up to the system under test, and when to choose which kinds of test types.

FitNesse is based upon a wiki environment. This means that your test pages are simply Wiki pages, and your test suites are collections of Wiki pages. These pages come with all the capabilities that Wikis normally provide. The thing that makes FitNesse special is that it can interpret and execute the tables that contain the tests. But it will ignore everything else. This is a key strength, as it allows you to fully document your tests without disrupting the execution. Your automated test cases are already a good documentation resource, as they show how the system was intended to be used. Passing tests also provide assurance that this documentation is up to date. However, human beings usually need more than just test cases. For example, sometimes you want to clarify certain design decisions in the tests, or make scoping decisions explicit. These are things that are often either just present in someone’s head, or written down in a document somewhere and then forgotten about. Then, when someone (even the same person who wrote the test earlier) comes back at the test case trying to understand how it works or why a certain error occurs, the documentation is nowhere to be found or outdated.

That’s why it is a lot better if we can simply capture the information with the test. That is exactly what you can do in FitNesse: since it ignores everything that is not a test table, you can capture any information that you don’t want to forget about or that you think is useful for future readers and test maintainers to know. You can even take this one step further and use FitNesse to document your system. If you do acceptance test driven development, this makes a lot of sense, since your test cases are the proxy for the requirements – so you have the basis for your requirements documentation already.

This Wiki will go into a bit more detail on the FitNesse Wiki side, which is where designers of automated tests tend to spend most of their time. Most of the FitNesse pages and C# fixture code shown here can be found in the associated repo. It is assumed that you have followed the instructions there to install FitNesse and FitSharp.

Let's start by having a look at what editing capabilities there are.

Acceptance Testing Wiki