CobolUnit
CobolUnit | |
---|---|
Aktuelle Version | 1.1 (21.04.2010) |
Betriebssystem | Linux, zOS |
Programmiersprache | Cobol |
Kategorie | Testautomatisierung |
Lizenz | GPL 3 |
Deutschsprachig | ja |
http://www.cobolunit.org |
CobolUnit ist ein Unit-Test-OpenSourceFramework für die Programmiersprache Cobol. Es basiert hierbei auf der XUnit Architektur für Unit-Test-Frameworks.
Inhaltsverzeichnis
[Verbergen]Features[Bearbeiten]
- "Assertions" zum Testen gegen die erwarteten Ergebnisse
- "fixtures" zum gemeinsamen nutzen der Testdaten for sharing common test data
- "runner" für das Ablaufen lassen der Tests
Beispiel[Bearbeiten]
Unittest nach dem XUnit Ansatz gehen jeweils in drei Schritten vor:
Schritt 1 - Definiere die TestSuite[Bearbeiten]
Zur Definition einer Testsuite sind neben dem Hinzufügen von Testfällen auch optional die Aufnahme von Initialisierungs- und Destroyroutinen möglich. Dies geschieht z.B. zum Auf- und Abbau von Datenbankverbindungen.
* Test Suite Definition
program-id. TSCU as "TSCU".
environment division.
configuration section.
data division.
working-storage section.
copy "CBUC0003".
copy "CBUC0001".
procedure division.
main section.
perform init
perform addTestCases
perform startTestSuite
goback.
exit section.
init section.
call CBU-MAIN using CBU-initialize CBU-MAIN-CALL-INTERFACE
move "Wikipedia TestSuite" to CBU-SUITE-NAME
move "Testsuite für Wikipedia"
to CBU-SUITE-DESCRIPTION
move "TSCUPRE" to CBU-SUITE-SET-UP-PGM
move SPACE to CBU-SUITE-SET-UP-ARG
move "TSCUPOST" to CBU-SUITE-TEAR-DOWN-PGM
move SPACE to CBU-SUITE-TEAR-DOWN-PGM
call CBU-MAIN using CBU-add-suite CBU-MAIN-CALL-INTERFACE
exit section.
addTestCases section.
move "Cobol TestFall" to CBU-TEST-NAME
move "Testfall für Wikipedia Cobol"
to CBU-TEST-DESCRIPTION
move "TCCUWIKI" to CBU-TEST-PROG-NAME
call CBU-MAIN using CBU-add-test-next
CBU-MAIN-CALL-INTERFACE
exit section.
* Schritt 3 - als Inline codiert
startTestSuite section.
call CBU-MAIN using CBU-run CBU-MAIN-CALL-INTERFACE
exit section.
end program TSCU.
Schritt 2 - Definiere den TestFall[Bearbeiten]
Der Testfall selbst wird in einem externen Programm definiert.
* Testfall Definition
program-id. TCCUWIKI as "TCCUWIKI".
environment division.
configuration section.
data division.
working-storage section.
copy "CBUC0002".
01 TEST-Expected-Result pic 9999 value zero.
01 TEST-Actual-Result pic 9999 value zero.
* Übergabeparameter für das zu testende Subsystem
01 param pic 9(4).
linkage section.
copy "CBUC0000".
procedure division using CBU-ctx.
call "pgm2test" using by reference param
move 3058 to TEST-Expected-Result
move param to TEST-Actual-Result
set cbu-assert-equal to true
set cbu-assert-int to true
move "EQUALS" to CBU-ASSERT-NAME
move TEST-Expected-Result to CBU-ASSERT-EXPECTED-INT
move TEST-Actual-Result to CBU-ASSERT-ACTUAL-INT
call CBU-ASSERT using CBU-ASSERT-CALL-INTERFACE cbu-ctx
goback.
end program TCCUWIKI.
Optional - Initialisierung und Destroy[Bearbeiten]
Gewisse Arbeiten sind häufig im Vor- und Nachhinein zu einer Testsuite notwendig. Diese können entweder im selben oder in getrennten Programmen durchgeführt werden.
Schritt 3 - Führe den Test aus[Bearbeiten]
Siehe Schritt 1 "startTestSuite" section