FANDOM


CobolUnit
Aktuelle Version 1.1
(21.04.2010)
Betriebssystem Linux, zOS
Programmier­sprache Cobol
Kategorie Testautomatisierung
Lizenz GNU GPL
Deutschsprachig nein
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.

FeaturesBearbeiten

  • "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

BeispielBearbeiten

Unittest nach dem XUnit Ansatz gehen jeweils in drei Schritten vor:

Schritt 1 - Definiere die TestSuiteBearbeiten

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 TestFallBearbeiten

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 DestroyBearbeiten

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 ausBearbeiten

Siehe Schritt 1 "startTestSuite" section

Weblinks Bearbeiten

Info Sign  Dieser Wikipedia-Artikel wurde gemäß GFDL bzw. CC-by-sa mit allen Versionen importiert.

Störung durch Adblocker erkannt!


Wikia ist eine gebührenfreie Seite, die sich durch Werbung finanziert. Benutzer, die Adblocker einsetzen, haben eine modifizierte Ansicht der Seite.

Wikia ist nicht verfügbar, wenn du weitere Modifikationen in dem Adblocker-Programm gemacht hast. Wenn du sie entfernst, dann wird die Seite ohne Probleme geladen.