Skip to content

openmainframeproject/cobol-check

Folders and files

NameName
Last commit message
Last commit date
May 13, 2024
Jan 9, 2025
May 3, 2022
Jul 15, 2021
Aug 8, 2023
Oct 7, 2024
Jan 7, 2025
Jan 1, 2021
Sep 4, 2023
Jan 7, 2025
May 13, 2024
Feb 11, 2021
Mar 11, 2021
Mar 11, 2021
Dec 5, 2024
Dec 22, 2020
Dec 22, 2020
Dec 22, 2020
Dec 22, 2020
May 3, 2022
Mar 11, 2021
Dec 22, 2020
Jan 3, 2025
Dec 22, 2020
Dec 23, 2020
Jan 5, 2021
Dec 22, 2020
Dec 16, 2020
Feb 11, 2022
Feb 11, 2022
Feb 11, 2022
Jan 3, 2025
Sep 22, 2022
Sep 20, 2022
Oct 23, 2023
Jan 22, 2021
May 3, 2022
May 3, 2022
Jan 27, 2022
May 3, 2022
May 13, 2024
Dec 29, 2020
Dec 18, 2020
Jan 28, 2021
Jan 28, 2021
Jan 31, 2021
Jan 22, 2021
Jan 22, 2021
Sep 12, 2023
May 2, 2022

Cobol Check

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.

Feature overview

  • Fine-grained assertions
  • Stubs and mocks
  • Mock perform verification
  • Test result report in JUnit format and HTML
  • And much more

Thanks!

A big thank you to Vicom Infinity for kindly providing a test z/OS environment for the project!

Another thank you, goes towards Bankdata, for major contributions to the project.

Immediate needs

As of March 2022 we could use help with:

  • 1 or 2 additional team members - interns OK.
  • review of localized messages by native speakers and creation of additional localized message files.

Downloads

Version 0.2.15 pre-release is available!

If you want source code, you can clone the repository or download a compressed archive(currently outdated) from here.

Cobol Check is also a Visual Studio Code extension. Download it in the Extensions tab in VS Code or take a look here.

Why?

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.

Given that capability, we might anticipate some of the same effects on the design of Cobol code as we see in the design of code in other languages, when fine-grained microtesting is used. These include factors like modularity, smaller source units, closer alignment with basic software design guidelines such as separation of concerns and single responsibility, and so forth.

As much of the work in this space will involve support for existing code bases, we might also anticipate that incremental refactoring will become easier once we have a safety net of fine-grained examples in place. We can apply the same techniques we use to improve the design of existing code in other languages.

Installing, Using, Contributing

Please see the wiki for more information.

Target platforms

We want to enable Cobol developers to write and run fine-grained unit checks on as many platforms as are feasible. Please see the list of certified user platform on the wiki.

Related projects

Governance

This project is part of the Open Mainframe Project.

Reporting Issues

To report a problem or request a feature, please open an issue.