Selftest plugin: Unterschied zwischen den Versionen
Cg (Diskussion | Beiträge) |
Cg (Diskussion | Beiträge) |
||
Zeile 16: | Zeile 16: | ||
* "out" <expr1> . <expr2> ..."<br>specifies the expected output value(s). Any number of expressions (incl. zero) can be given. |
* "out" <expr1> . <expr2> ..."<br>specifies the expected output value(s). Any number of expressions (incl. zero) can be given. |
||
* "run" <expectedOutcome>"<br>runs the test setup (given by previous in & out commands) and verifies the outcome. The outcome must empty (expect success) or one of "fail", "error", "inconclusive". |
* "run" <expectedOutcome>"<br>runs the test setup (given by previous in & out commands) and verifies the outcome. The outcome must empty (expect success) or one of "fail", "error", "inconclusive". |
||
* "prerequisite" <st-expression><br>a prerequistite for the action, to be executed before the test run. "st-expression" must be a valid Smalltalk expression (which is given to eval). |
* "prerequisite" <st-expression><br>a prerequistite for the action, to be executed before the next test run. "st-expression" must be a valid Smalltalk expression (which is given to eval). |
||
* "cleanup" <st-expression><br>a cleanup action to be executed after the test run. "st-expression" must be a valid Smalltalk expression (which is given to eval). |
* "cleanup" <st-expression><br>a cleanup action to be executed after the test run. "st-expression" must be a valid Smalltalk expression (which is given to eval). |
||
Version vom 21. April 2018, 08:14 Uhr
The plugin runs selftest scripts on acitions of a library. Each action has associated to it a test script which specifies the inputs and expected behavior of the action. The script's syntax is very simple and scripts can easily be created from a requirements or certification document.
Its main use is as input for a certification suite of expecco's standard library.
Inhaltsverzeichnis
Script Syntax[Bearbeiten]
The script consists of individual commands, each containing a textual command. Lines beginning with ";" are comment lines. Text after a ";" is ignored (end-of-line comments).
Currently, there are 5 different commands:
- "in <expr1> . <expr2> ..."
specifies the input value(s) to be given to the action. Any number of expressions (incl. zero) can be given. - "out" <expr1> . <expr2> ..."
specifies the expected output value(s). Any number of expressions (incl. zero) can be given. - "run" <expectedOutcome>"
runs the test setup (given by previous in & out commands) and verifies the outcome. The outcome must empty (expect success) or one of "fail", "error", "inconclusive". - "prerequisite" <st-expression>
a prerequistite for the action, to be executed before the next test run. "st-expression" must be a valid Smalltalk expression (which is given to eval). - "cleanup" <st-expression>
a cleanup action to be executed after the test run. "st-expression" must be a valid Smalltalk expression (which is given to eval).
"in" Command[Bearbeiten]
Specifies input values as Smalltalk expressions separated by a period ("."). For unconnected inputs, individual expressions can be left empty. For example:
- in 1 . 2 . 3
Provides 3 integer input values to the first 3 input pins, with values "1", "2" and "3" respecitvely. - in 1 . . 'abc'
Provides the integer "1" to the first input pin, no values to the second and third input pin, and the string "abc" to the fourth input pin. - in
no input values are provided
"out" Command[Bearbeiten]
Similar to the above "in" command, this defines the expected output values. For pins where no output is expected, an empty expression must be given.
"run" Command[Bearbeiten]
"prerequisites" Command[Bearbeiten]
Defines a Smalltalk expression to be evaluated BEFORE the test run is executed. A typical use is the creation of a temporary file (eg. when testing the "File [exists]" action block.
"cleanup" Command[Bearbeiten]
Defines a Smalltalk expression to be evaluated AFTER the test run is executed. A typical use is the deletion of a temporary file (eg. when testing the "File [exists]" action block.
Sample Script[Bearbeiten]
The following sample script could used with the "Arith [ Sum ]" action:
in ; no inputs
out ; no outputs expected
run error ; expect an error (no inputs given)
in 1 . 2 ; two inputs given
out 3 ; expected output
run ; no error expected