Included page: .FitNesse.SuiteAcceptanceTests.ScenarioLibrary (edit)
| scenario |
given page |
page |
with content |
content |
| create page |
@page |
with content |
@content |
| $IT= |
echo |
@page |
| scenario |
given page |
page |
| given page |
@page |
with content |
nothing |
| scenario |
given test page |
page |
| given page |
@page |
| make |
@page |
a test page |
| scenario |
given slim test page |
page |
| given page |
@page |
with content |
!define TEST_SYSTEM {slim} |
| make |
@page |
a test page |
| scenario |
page |
source |
should have link to |
target |
| check |
request page |
@source |
200 |
| ensure |
content contains |
<a href="@target" |
| $IT= |
echo |
@source |
| scenario |
it should have link to |
target |
| page |
$IT |
should have link to |
@target |
| scenario |
and it should have link to |
target |
| page |
$IT |
should have link to |
@target |
| scenario |
page |
source |
should have creating link to |
target |
| check |
request page |
@source |
200 |
| ensure |
content contains |
@target<a title="create page" href="@target?edit&nonExistent=true">[?]</a> |
| scenario |
it should have creating link to |
target |
| page |
$IT |
should have creating link to |
@target |
| scenario |
page |
source |
should contain |
text |
| check |
request page |
@source |
200 |
| ensure |
content contains |
@text |
| show |
content |
| scenario |
page |
source |
should not contain |
text |
| check |
request page |
@source |
200 |
| reject |
content contains |
@text |
| show |
content |
| scenario |
page |
source |
should match |
text |
| check |
request page |
@source |
200 |
| ensure |
content matches |
@text |
| show |
content |
| scenario |
it should contain |
text |
| page |
$IT |
should contain |
@text |
| scenario |
it should not contain |
text |
| page |
$IT |
should not contain |
@text |
| scenario |
it should contain |
text |
in line |
symbol |
| check |
request page |
$IT |
200 |
| $@symbol= |
line number containing |
@text |
| scenario |
it should match |
text |
| page |
$IT |
should match |
@text |
| scenario |
test results for page |
source |
should contain |
text |
| check |
request page |
@source?test |
200 |
| ensure |
content contains |
@text |
| show |
content |
| scenario |
its test results should contain |
text |
| test results for page |
$IT |
should contain |
@text |
| scenario |
test ressults for page |
source |
should not contain |
text |
| check |
request page |
@source?test |
200 |
| reject |
content contains |
@text |
| show |
content |
| scenario |
and should contain |
text |
| ensure |
content contains |
@text |
| show |
content |
| scenario |
and should match |
text |
| ensure |
content matches |
@text |
| show |
content |
| scenario |
and should not contain |
text |
| reject |
content contains |
@text |
| show |
content |
| scenario |
widget |
wikiText |
should render |
htmlText |
| create page |
WidgetPage |
with content |
@wikiText |
| check |
request page |
WidgetPage |
200 |
| ensure |
content matches |
@htmlText |
| show |
content |
| scenario |
the line |
after |
should come after |
before |
| check |
echo int |
$@before |
< $@after |
| scenario |
pass |
| check |
echo |
pass |
pass |
One of the key goals of FitNesse is to encourage that requirements in FitNesse are written before the coding of the implementation starts.
Having said that the defintion of the requirements must be independent of the technical solution used to implement it.
This sample page shows that the same requirement defintion can be implemented once with a java class implementing the decision table protokoll and once with a senario.
The requirements are defined in a decision table on a sub page.
The first implementation used is the Devision class from the eg library.
Included page: >CalculatorRequirements (edit)
| Division |
| numerator |
denominator |
quotient? |
| 10 |
2 |
5.0 |
| 12.6 |
3 |
4.2 |
| 22 |
7 |
~=3.14 |
| 9 |
3 |
<5 |
| 11 |
2 |
4<_<6 |
| 100 |
4 |
25.0 |
| 25.0 |
5 |
5.0 |
Now we define a second technical solution using a FitNesse scenario
| scenario |
Division _ _ _ |
numerator, denominator, quotient |
| setNumerator |
@numerator |
| setDenominator |
@denominator |
| check |
quotient |
@quotient |
Generate an instance of the class used by the scenario:
We retest the requirements and get the same results.
Also the output is differently printed.
Included page: >CalculatorRequirements (edit)
| Division |
| numerator |
denominator |
quotient? |
| 10 |
2 |
5.0 |
| 12.6 |
3 |
4.2 |
| 22 |
7 |
~=3.14 |
| 9 |
3 |
<5 |
| 11 |
2 |
4<_<6 |
| 100 |
4 |
25.0 |
| 25.0 |
5 |
5.0 |
Keyboard Shortcuts ?
×
-
t
Test
-
e
Edit page
-
a
Add new page
-
p
Properties
-
w
Where used?
-
/
Focus on search bar
-
s
Open search page
-
g u
Go to User Guide