Cobol Check provides fine-grained unit testing/checking for Cobol at the same conceptual level of detail as unit testing frameworks for other languages, such as Python, Ruby, C#, and Java.
The project is part of the Open Mainframe Project, an initiative to collect and manage Open Source resources supporting the IBM zSeries platform.
Vicom Infinity is kindly providing access to a z/OS system for testing.
- Test-Driven Development in COBOL (24:52) An explanation of how TDD is possible for COBOL, geared for people with a background in Extreme Programming but not in COBOL. Includes a partial FizzBuzz solution using Cobol Check. This was presented at the Agile 2021 conference.
- What’s New in Cobol Check v0.1.0? (13:00) A demo of new features and an explanation of limitations and known issues.
- Cobol Check Overview (13:00) Dave Nicolette presents an overview of Cobol Check for people coming from a mainframe background who may not be familiar with fine-grained microtesting.
- Install Cobol Check on a Linux or Unix System (1:30) Installation walkthrough.
- Demo of Cobol Check on z/OS with VSCode/Zowe (5:35) Team member Christopher Morgan has run Cobol Check on a Z system in the USS environment. First test on Z.
- CobolCheck v 0.1.0 15 Mar 21
- CobolCheck v 0.0.6 13 Mar 21
See the User Guide for installation instructions and other details.
As of Februrary 2021 we could use help with:
– review of localized messages by native speakers and creation of additional localized message files
The industry is experiencing a resurgence in interest in Cobol, both to support existing applications and to take advantage of the continuing evolution of the zSeries platform. Commercial unit testing tools for Cobol are able to exercise code at the level of a whole load module, but cannot exercise individual Cobol paragraphs in isolation. That limitation means we cannot achieve the same degree of granularity in microtests as we can when working in other languages, such as Java, Kotlin, C#, Python, or Ruby.
Please see the cobol-check project on github for more information.