CobolUnit

Aus MARJORIE-WIKI
Wechseln zu: Navigation, Suche
CobolUnit
Aktuelle Version 1.1
(21.04.2010)
Betriebssystem Linux, zOS
Programmier­sprache 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.

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

Siehe auch[Bearbeiten]

Weblinks[Bearbeiten]

Info Sign.svg Dieser Wikipedia-Artikel wurde, gemäß GFDL, CC-by-sa mit der kompletten History importiert.