Skip to main content

Pragmas in Testbausteinen

Die folgenden Pragmas kennzeichnen ein Programm oder einen Funktionsbaustein als Testbaustein und definieren Testfalleigenschaften.

Tabelle 75. Einfacher Test

Pragma

Optional

Beschreibung

{attribute 'test'}

Kennzeichnet einen Funktionsbaustein oder ein Programm als Testbaustein

Bei Testausführung werden die Testbausteine mit dem Prüfling zu einer Testapplikation kompiliert.

{attribute 'testcasename' := 'N_001:CountDown'}

X

Testfallname

{attribute 'testcategory' := 'BasicTests,CTD'}

X

Testfallkategorien, die dem Testfall zugeordnet sind (kommasepariert)

{attribute 'testcasetimeout' := '5000'}

X

Timeout des Testfalls in Millisekunden

Standardwert: 15 Sekunden



Tabelle 76. Multitest

Pragma

Optional

Beschreibung

{attribute 'test' := 'multitest'}

Kennzeichnet den Funktionsbaustein als Testbaustein eines Multitests

{attribute 'testcasename' := '#n:CountDown'}

X

Testfallname

Wenn der Name den Platzhalter #n enthält, wird die laufende Nummer des Testfalls dort eingefügt. Entweder ist dieses Attribut oder der Output-Parameter sTestCaseName definiert.

{attribute 'testcategory' := 'BasicTests,CTD'}

X

Kommaseparierte Liste von Testfallkategorien des Testfalls

{attribute 'testcasetimeout' := '5000'}

X

Timeout in Millisekunden, der bei jedem Testfall ohne eigenen Timeout (und xGetTestInfo-Aktionen) einzeln angewendet wird

{attribute 'testcasecount' := '5000'}

X

Anzahl der Testfälle

Wenn das Attribut nicht vorhanden ist, wird zur Laufzeit der Ausgang xTestCaseCount des Testbausteins auf die passende Anzahl (durch Angabe von xGetTestInfo und eines xTestCaseIndex) gesetzt.

{attribute 'testcasegroup' := 'Group 1.Sub Group 2.Sub Group 3'}

X

Name der Testfallgruppe

Beispiel: 'Group 1.Sub Group 2.Sub Group 3': Gruppe mit 2 übergeordneten Gruppen

{attribute 'testcasegrouptimeout' := '300000,60000,30000'}

X

Timeout für eine Testfallgruppe

Wird zusammen mit dem Pragma {attribute 'testcasegroup'} verwendet

Beispiel: Gruppe Group 1.Sub Group 2.Sub Group 3

Mindestens einer der Testbausteine aus der Gruppe hat den Wert deklariert und enthält dieses Pragma. Wenn Tests der Gruppe verschiedene Werte deklariert haben, führt dies zu einem Fehler und die Testbausteine der gesamten Gruppe werden nicht ausgeführt.

Die Werte der Timeouts werden ausgehend von der untersten Gruppe zugeordnet. Wenn also ein Wert fehlt, erhält die Testfallgruppe keinen definierten Timeout. Als Platzhalter für nicht definierte Werte dient das Symbol ‚*‘.

Beispiel 1

{attribute 'testcasegroup' := 'MyTable.Group 1.Subgroup 2'}
{attribute 'testcasegrouptimeout' := '300000,60000,30000'}

=> MyTable = 300000 (5 min), Group 1 = 60000 (1 min), Subgroup 2 = 30000 (30 s)

Beispiel 2

{attribute 'testcasegroup' := 'MyTable.Group 1.Subgroup 2'}
{attribute 'testcasegrouptimeout' := '300000,*,30000'}

=> MyTable = 300000 (5 min), Group 1 = N/A, Subgroup 2 = 30000 (30 s)

Beispiel 3

{attribute 'testcasegroup' := 'MyTable.Group 1.Subgroup 2'}
{attribute 'testcasegrouptimeout' := '60000,30000'}

=> MyTable = N/A, Group 1 = 60000 (1 min) , Subgroup 2 = 30000 (30 s)