3.6. Factor out common "Given"s

Just like code, tests need to be actively managed, because if the tests become hard to maintain, they'll end up being deleted. In fact, we probably should take even more care with the tests than the code if they represent the primary documentation of the behaviour of the system.

In terms of size, the "given" is far larger than either the "when" or the "then", and therefore this is the area where tests can quickly become unmaintainable. So instead, factor out your givens into separate pages, and then use FitNesse's !include directive to assemble the pages you need (as done by the archetype, Chapter 2, Using the FitNesse Archetype).

The names of these pages should also follow a declarative style, see Section 3.7, “Use a Declarative Style for Page Names”.