![Page 1: Micro Focus Unit Testing Framework in Visual COBOL 3€¢In Visual Studio startet man das Unit Test Projekt wie sonst auch per „Set as Startup Project](https://reader031.vdocuments.mx/reader031/viewer/2022021612/5b38ef5c7f8b9a5a178de7ca/html5/thumbnails/1.jpg)
Rolf Becking
29.August 2017
Micro Focus Unit Testing Framework in Visual COBOL 3.0
![Page 2: Micro Focus Unit Testing Framework in Visual COBOL 3€¢In Visual Studio startet man das Unit Test Projekt wie sonst auch per „Set as Startup Project](https://reader031.vdocuments.mx/reader031/viewer/2022021612/5b38ef5c7f8b9a5a178de7ca/html5/thumbnails/2.jpg)
• Wozu dient das Micro Focus Unit Testing Framework?
• Welches Konzept steckt dahinter?
• Wie wird ein MF Unit Test in den Visual COBOL IDEs Eclipse und Visual Studio angelegt?
• Wie versorgt man die Unit Tests mit Testdaten?
• Wie kommt man an die Ergebnisse der Tests?
• Fragen …
Unser heutiges Webinar
![Page 3: Micro Focus Unit Testing Framework in Visual COBOL 3€¢In Visual Studio startet man das Unit Test Projekt wie sonst auch per „Set as Startup Project](https://reader031.vdocuments.mx/reader031/viewer/2022021612/5b38ef5c7f8b9a5a178de7ca/html5/thumbnails/3.jpg)
• Das Micro Focus Unit Testing Framework ist ein weiterer Schritt, die Entwicklung von COBOL Programmen moderneren Vorgehensweisen (DevOps) anzupassen.
Wozu dient das Micro Focus Unit Testing Framework?
![Page 4: Micro Focus Unit Testing Framework in Visual COBOL 3€¢In Visual Studio startet man das Unit Test Projekt wie sonst auch per „Set as Startup Project](https://reader031.vdocuments.mx/reader031/viewer/2022021612/5b38ef5c7f8b9a5a178de7ca/html5/thumbnails/4.jpg)
Moderne Applikations-EntwicklungGängige Praxis für moderne Software-Entwicklungs-Teams
![Page 5: Micro Focus Unit Testing Framework in Visual COBOL 3€¢In Visual Studio startet man das Unit Test Projekt wie sonst auch per „Set as Startup Project](https://reader031.vdocuments.mx/reader031/viewer/2022021612/5b38ef5c7f8b9a5a178de7ca/html5/thumbnails/5.jpg)
![Page 6: Micro Focus Unit Testing Framework in Visual COBOL 3€¢In Visual Studio startet man das Unit Test Projekt wie sonst auch per „Set as Startup Project](https://reader031.vdocuments.mx/reader031/viewer/2022021612/5b38ef5c7f8b9a5a178de7ca/html5/thumbnails/6.jpg)
DevOpsEine knappe, präzise Definition…
DevOps aims to establish a culture and
environment where building, testing, and
releasing software can happen rapidly,
frequently, and more reliably
![Page 7: Micro Focus Unit Testing Framework in Visual COBOL 3€¢In Visual Studio startet man das Unit Test Projekt wie sonst auch per „Set as Startup Project](https://reader031.vdocuments.mx/reader031/viewer/2022021612/5b38ef5c7f8b9a5a178de7ca/html5/thumbnails/7.jpg)
1. Agile Planning & Development Practices
2. Continuous Integration
3. Continuous Delivery
4. Continuous Deployment
5. Application Performance Management
DevOps ausgepacktDie wichtigsten Komponenten der DevOps Strategie
![Page 8: Micro Focus Unit Testing Framework in Visual COBOL 3€¢In Visual Studio startet man das Unit Test Projekt wie sonst auch per „Set as Startup Project](https://reader031.vdocuments.mx/reader031/viewer/2022021612/5b38ef5c7f8b9a5a178de7ca/html5/thumbnails/8.jpg)
Agile Planning & DevelopmentIncremental software delivery1
![Page 9: Micro Focus Unit Testing Framework in Visual COBOL 3€¢In Visual Studio startet man das Unit Test Projekt wie sonst auch per „Set as Startup Project](https://reader031.vdocuments.mx/reader031/viewer/2022021612/5b38ef5c7f8b9a5a178de7ca/html5/thumbnails/9.jpg)
Continuous IntegrationIntegrate often and provide immediate developer feedback 2
• Regularly integrate code changes
• Compile & run automated unit tests
• Intention to have an always-working code base
• Common to run scheduled system tests
• Developers identify issues sooner and before they reach QA and Ops teams
• Common CI Tools include:
• Jenkins, Microsoft TFS, Bamboo
• Configuration Management essential
Commit changes2Developer
SourceControl
Testing
Build
Checkout code
1 Initiate CI Process
3
Unit/Integration Tests4Feedback5
![Page 10: Micro Focus Unit Testing Framework in Visual COBOL 3€¢In Visual Studio startet man das Unit Test Projekt wie sonst auch per „Set as Startup Project](https://reader031.vdocuments.mx/reader031/viewer/2022021612/5b38ef5c7f8b9a5a178de7ca/html5/thumbnails/10.jpg)
• Die zugrundeliegende Idee kann am besten mit “Test DrivenDevelopment” beschrieben werden
• Möglichkeit, bereits vor der Implementierung neuer Funktionalitäten in einem COBOL Modul Testfälle zu definieren
• die die neuen Features testen
• mögliche Konflikte mit bestehender Business-Logik aufdecken können
• Spätere Integration in automatisierte Tests sichert die langfristige Qualität und Stabilität der Anwendung.
Wozu dient das Micro Focus Unit Testing Framework?
![Page 11: Micro Focus Unit Testing Framework in Visual COBOL 3€¢In Visual Studio startet man das Unit Test Projekt wie sonst auch per „Set as Startup Project](https://reader031.vdocuments.mx/reader031/viewer/2022021612/5b38ef5c7f8b9a5a178de7ca/html5/thumbnails/11.jpg)
• Basiert auf den unter dem Begriff „xUnit“ zusammengefassten Unit Testing Frameworks (Beispiel: JUnit)
• Sammlung von Runtime Funktionen mit den Funktionalitäten:
• Test runner - Executable, welches die Tests ausführt
• Test case - Einzelner Testfall
• Test fixtures - Vorbedingungen/Voraussetzungen für jeden Testfall
• Test suites – Menge von Testfällen mit gleichen Voraussetzungen
• Test execution – Durchführung der Tests
Konzept des Micro Focus Unit Testing Frameworks
![Page 12: Micro Focus Unit Testing Framework in Visual COBOL 3€¢In Visual Studio startet man das Unit Test Projekt wie sonst auch per „Set as Startup Project](https://reader031.vdocuments.mx/reader031/viewer/2022021612/5b38ef5c7f8b9a5a178de7ca/html5/thumbnails/12.jpg)
• Sammlung von Runtime Funktionen mit den Funktionalitäten:
• Test result formatter – Erzeugt Ausgabeformat der Testergebnisse
• Lesbarer Text oder
• XML wie bei Junit
• kann von Build-Tools wie Jenkins oder Bamboo weiter verarbeitet werden
• GitHub Style Markdown Format (.md) Datei
• Assertions – logische Bedingung für die Testergebnisse
• True oder False
Konzept des Micro Focus Unit Testing Frameworks
![Page 13: Micro Focus Unit Testing Framework in Visual COBOL 3€¢In Visual Studio startet man das Unit Test Projekt wie sonst auch per „Set as Startup Project](https://reader031.vdocuments.mx/reader031/viewer/2022021612/5b38ef5c7f8b9a5a178de7ca/html5/thumbnails/13.jpg)
• Implementierung in Visual COBOL 3.0:
Konzept des Micro Focus Unit Testing Frameworks
Element Entry point
test setup MFUS_test_case_name
test metadata setup MFUM_test_case_name
test case MFUT_test_case_name
test teardown MFUE_test_case_name
global metadata MFUGM_program_name
global command line arguments MFUGA_CMDOptions
![Page 14: Micro Focus Unit Testing Framework in Visual COBOL 3€¢In Visual Studio startet man das Unit Test Projekt wie sonst auch per „Set as Startup Project](https://reader031.vdocuments.mx/reader031/viewer/2022021612/5b38ef5c7f8b9a5a178de7ca/html5/thumbnails/14.jpg)
• Ausführlich in der Dokumentation beschrieben
• Nur für Procedural Code, managed oder unmanaged compiliert
• Aufruf von managed Code nur von der Kommandozeile, nicht aus IDE
• Einfaches und komplexeres Beispiel ebenfalls in der Doku
• Copy-Dateien werden mit der Produkt-Installation geliefert und automatisch bei den Unit Tests angezogen:
• mfunit_prototypes.cpy
• mfunit.cpy
Konzept des Micro Focus Unit Testing Frameworks
![Page 15: Micro Focus Unit Testing Framework in Visual COBOL 3€¢In Visual Studio startet man das Unit Test Projekt wie sonst auch per „Set as Startup Project](https://reader031.vdocuments.mx/reader031/viewer/2022021612/5b38ef5c7f8b9a5a178de7ca/html5/thumbnails/15.jpg)
• Unit Testing Code Templates / Code Snippets für beide IDEs
• Beispiele im Samples Browser
• MFUnit Feature Demos
• MFUnit Airport Demo (VS)
• Beispiele zur Integration in Test-Server für
• SilkCentral
• Jenkins CI Server
Konzept des Micro Focus Unit Testing Frameworks
![Page 16: Micro Focus Unit Testing Framework in Visual COBOL 3€¢In Visual Studio startet man das Unit Test Projekt wie sonst auch per „Set as Startup Project](https://reader031.vdocuments.mx/reader031/viewer/2022021612/5b38ef5c7f8b9a5a178de7ca/html5/thumbnails/16.jpg)
• Neuer Projekt-Typ: Unit Test Library
• Am besten in einer Projektmappe/Solution mit der zu testenden Applikation
• In dem zu testenden (Unter-)Programm per rechte Maustaste „Create Unit Test“
• Name des Projekts und des Programms angeben
• Das führt dann in der Regel zu drei Projekten in der Solution:
• Projekt mit Startprogramm (.exe)
• Projekt mit zu testendem Programm (Link Library)
• Unit Test Projekt (Link Library)
Anlegen von Unit Tests in Visual Studio
![Page 17: Micro Focus Unit Testing Framework in Visual COBOL 3€¢In Visual Studio startet man das Unit Test Projekt wie sonst auch per „Set as Startup Project](https://reader031.vdocuments.mx/reader031/viewer/2022021612/5b38ef5c7f8b9a5a178de7ca/html5/thumbnails/17.jpg)
• Neuer Projekt-Typ: COBOL Unit Test Project
• Am besten in einem Workspace mit der zu testenden Applikation
• In diesem Project New / COBOL Unit Test
• Unter „Program under test:“ das Projekt und darin das zu testende Programm auswählen
• Das Projekt, welches das zu testende Programm enthält, muss zum „BuildPath“ des COBOL Unit Test Projects hinzugefügt werden
Anlegen von Unit Tests in Eclipse
![Page 18: Micro Focus Unit Testing Framework in Visual COBOL 3€¢In Visual Studio startet man das Unit Test Projekt wie sonst auch per „Set as Startup Project](https://reader031.vdocuments.mx/reader031/viewer/2022021612/5b38ef5c7f8b9a5a178de7ca/html5/thumbnails/18.jpg)
• Micro Focus Unit tests können sowohl von der Kommando-Zeile per mfurun aufgerufen werden, als auch aus beiden IDEs
• mfurun gibt es in verschiedenen Varianten:
• mfurun (native), mfurunj (Java Bytecode) und mfurunil (.NET managedCode) unter Windows
• cobmfurun32/64[_t] (native) und cobmfurunj (Java Bytecode) unter Unix/Linux
• Optionen: siehe Doku
Ausführen von Unit Tests
![Page 19: Micro Focus Unit Testing Framework in Visual COBOL 3€¢In Visual Studio startet man das Unit Test Projekt wie sonst auch per „Set as Startup Project](https://reader031.vdocuments.mx/reader031/viewer/2022021612/5b38ef5c7f8b9a5a178de7ca/html5/thumbnails/19.jpg)
• In Eclipse gibt es zum Ausführen von Unit Tests sowohl unter „Run as“ als auch unter „Debug as“ die Auswahlmöglichkeit „COBOL Unit Test“, aber auch entsprechende Run/DebugConfigurations vom Typ COBOL Unit Test
• Die Testergebnisse erscheinen dann in der „Micro Focus Unit Testing“ View
• Dort können dann auch alle Tests, nur die zuletzt ausgeführten oder Tests, die „failed“ sind, wiederholt werden
Ausführen von Unit Tests in Eclipse
![Page 20: Micro Focus Unit Testing Framework in Visual COBOL 3€¢In Visual Studio startet man das Unit Test Projekt wie sonst auch per „Set as Startup Project](https://reader031.vdocuments.mx/reader031/viewer/2022021612/5b38ef5c7f8b9a5a178de7ca/html5/thumbnails/20.jpg)
• In Visual Studio startet man das Unit Test Projekt wie sonst auch per „Set as Startup Project“
• Die Testergebnisse erscheinen dann in der „Micro Focus Unit Testing“ View
• Dort können dann auch alle Tests, nur die zuletzt ausgeführten oder nur Tests, die „failed“ waren, wiederholt werden
Ausführen von Unit Tests in Visual Studio
![Page 21: Micro Focus Unit Testing Framework in Visual COBOL 3€¢In Visual Studio startet man das Unit Test Projekt wie sonst auch per „Set as Startup Project](https://reader031.vdocuments.mx/reader031/viewer/2022021612/5b38ef5c7f8b9a5a178de7ca/html5/thumbnails/21.jpg)
Micro Focus Unit Testing Framework in Visual COBOL 3.0
Nächste Schritte
Kostenlose Testversion herunterladen oderUpdate auf Version 3.0 für Visual COBOL Kunden
microfocus.com/VIsualCOBOL
![Page 22: Micro Focus Unit Testing Framework in Visual COBOL 3€¢In Visual Studio startet man das Unit Test Projekt wie sonst auch per „Set as Startup Project](https://reader031.vdocuments.mx/reader031/viewer/2022021612/5b38ef5c7f8b9a5a178de7ca/html5/thumbnails/22.jpg)
Micro Focus Unit Testing FrameworkVielen Dank für Ihre Aufmerksamkeit!
Fragen?