!-

import
fitnesse.slim.test


if you expect an exception you can test for it and pass the test

use the keyword EXCEPTION:

Test Slim
# Scenario throw Normal? throw Exception With Message?
Testing for an expected Exception EXCEPTION:=~/This is my exception/ EXCEPTION:=~/Test message/
otherwise error is indicated. Watch how an exception with message is displayed shorter compared to a normal exception This is my exception Test message

if you expect an exception but there is non then the cell will fail

Test Slim
string getStringArg? getStringArg?
Hello Hello EXCEPTION: Hello



An exception occurring in a not cell specific function call is added to the current row.

This applies to: execute, reset, table, beginTable, endTable

DT:fitnesse.slim.test.DecisionTableExecuteThrows
x x?
5 5

and also to constructor failures

DT:ConstructorThrows test goes on
x x?
5 5


Multiple exceptions can happen in one row and in a in cell in the same row
DT:fitnesse.slim.test.DecisionTableExecuteThrows
Which Methods Fail x x?
NONE 5 5
execute setX getX 5 5
reset 2 2
reset 5 5

Everything goes wrong - Fitnesse catches all 7 exceptions

The exceptions are added at the right level:

DT:fitnesse.slim.test.DecisionTableExecuteThrows Total Disaster
x x?
5 5



Scripts behave like decision tables


script:fitnesse.slim.test.DecisionTableExecuteThrows
check execute EXCEPTION: =~/EXECUTE_THROWS/

A stop test is counted as fail and not as error
script:ConstructorThrows stop test
check execute Not reached as test is stopped

-!