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 |
$CONTENT= |
echo |
|
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 |
test results for page in debug mode |
source |
should contain |
text |
check |
request page |
@source?test&debug |
200 |
ensure |
content contains |
@text |
show |
content |
scenario |
test results for suite |
source |
should contain |
text |
check |
request page |
@source?suite |
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 |
scenario |
show collapsed |
content |
show |
@content |
scenario |
show Symbol |
result |
scenario |
then |
pass |
assertions pass, |
fail |
fail, |
ignore |
are ignored |
exception |
exceptions thrown |
ensure |
content matches |
Assertions:<[^<]*@pass right, @fail wrong, @ignore ignored, @exception exceptions |
show |
extract match; |
Assertions:<[^<]*exceptions |
contents |
0 |
scenario |
and cell |
text |
has result |
result |
ensure |
content matches |
class="@result">@text< |
show |
extract match; |
class="[^"]+">@text< |
contents |
0 |
variable defined: TestSTART=@@@START: Test specific content
variable defined: TestEND=@@@END: Test specific content
scenario |
and TestSystem setup is |
content |
$CONTENT= |
echo |
$CONTENT
@content |
scenario |
and setup content is |
content |
$CONTENT= |
echo |
$CONTENT
@content |
scenario |
and test content is |
content |
given page |
$IT |
with content |
$CONTENT @@@START: Test specific content@content@@@END: Test specific content |
make |
$IT |
a test page |
scenario |
get HTML result |
start |
Response Examiner. |
setType |
contents |
setPattern |
@@@START: Test specific content[^<]*(.*>)\s*@@@END: Test specific content |
setGroup |
1 |
$HTML_Result= |
found |
scenario |
get HTML input |
start |
Response Examiner. |
setType |
pageHtml |
setPattern |
@@@START: Test specific content[^<]*(.*>)\s*@@@END: Test specific content |
setGroup |
1 |
$HTML_Input= |
found |
show collapsed |
get value |
scenario |
get collapsed executon log for page |
source |
check |
request page |
@source?executionLog |
200 |
show |
content |
scenario |
when page |
source |
is tested |
check |
request page |
@source?test |
200 |
show collapsed |
content |
scenario |
when page |
source |
is tested and HTML is extracted |
when page |
@source |
is tested |
get HTML result |
get HTML input |
Included page: .FitNesse.SuiteAcceptanceTests.SuiteSlimTests.SetUp (edit)
SetUp |
Plugins=fitnesse.testsystems.slim.CustomTableAliasPlugin
Plugins=fitnesse.testsystems.slim.CustomScriptTableRenderingPlugin
CustomComparators=glob:fitnesse.testsystems.slim.GlobComparator |
Library |
page driver |
echo fixture |
The aim of the baseline decision table is to make tests easier to read.
Background
The idea of a decision table is to demonstrate how different combinations of input parameters generate different results.
To make the impact of each parameter to the output results transparent it is good practice to modify just one parameter from row to row.
For big tables with many input parameters it is often not immediately visible to the reader which parameter changes from row to row.
Syntax
As a user of the baseline decision table you specify in the first row below the header in each column the values for all input and output parameters.
This defines your base scenario and so far this is 100% identical to a normal decision table.
In all following lines you just specify the values which differ from the base scenario all other columns are left empty.
This makes your table more readable. It is also easier to maintain in case a value must be changed.
Don't repeat yourself is a good rule even when you write test cases. :)
Fixture Code
When the baseline decision table is tested all empty columns are filled by the Slim test system with the corresponding values from the base scenario.
In all other aspects the bahviour is identical to the decision table.
Your fixture code is identical to a decision table. The fixture will not be able to identif any difference between a baseline decision table and a normal decision table.
Example
Let's look at an example which you know already from the Decision Table
Dependencies
import |
fitnesse.slim.test |
Given I have at least one milk remaining
Then I should NOT go to the store
baseline: should I buy milk |
cash in wallet |
credit card |
pints of milk remaining |
go to store? |
0 |
no |
1 |
no |
|
|
2 |
|
|
|
7 |
|
10 |
|
|
|
|
yes |
|
|
10 |
yes |
|
|
1 |
|
1 |
|
Given I have no milk remaining
And a credit card
Then I should go to the store
baseline: should I buy milk |
cash in wallet |
credit card |
pints of milk remaining |
go to store? |
0 |
yes |
0 |
yes |
1 |
|
|
|
2 |
|
|
|
Given I have no milk remaining
And at least three $
Then I should go to the store
baseline: should I buy milk |
cash in wallet |
credit card |
pints of milk remaining |
go to store? |
3 |
no |
0 |
yes |
10 |
|
|
|
7 |
|
|
|
|
yes |
|
|
Given I have no milk remaining
And no credit card
And less then three $
Then I should NOT go to the store
baseline: should I buy milk |
cash in wallet |
credit card |
pints of milk remaining |
go to store? |
0 |
no |
0 |
no |
1 |
|
|
|
2 |
|
|
|
Keyboard Shortcuts ?
General
-
t
Test page or suite
-
e
Edit page
-
v
View page (after test)
-
a
Add new page
Go To
-
g u
User Guide
-
g q
Quick Reference Guide
-
g f
Full Reference Guide
-
g c
Recent Changes
Edit Mode
-
CTRL+s
Save page
-
ESC
Cancel edit
Tools
-
p
Properties
-
w
Where used?
-
AK+v
Versions
-
AK+h
Page History
-
/
Focus on search bar
-
s
Open search page
Close