OEUnit
Unit testing framework for OpenEdge ABL
Install / Use
/learn @CameronWills/OEUnitREADME
OEUnit
OEUnit is a unit testing framework for OpenEdge ABL. OEUnit is intended to help write and run repeatable unit tests - similar to JUnit and other xUnit-based unit testing frameworks.
For full documentation, see doc/index.html in the repository.
Download
See the Releases page.
Screenshot
Below is a screenshot of the test results docked in Progress Developer Studio (previously OpenEdge Architect).

Change Log
1.4
- version 1.4 requires OpenEdge 10.2B03
- Merged changes to better support automation and XML reporting. Thanks to Arek Jaworski and Mark Abbott.
- Refactored merged changes to remove redundant code sections and folder structure
- Removed 'Author' from the file headers - a leftover relic from a heading template and not conducive to social coding :)
- Tested with OpenEdge 11.3 on Windows 7 64bit
1.3
- Version 1.3 requires OpenEdge 10.B03
- Fixed bug where the results window would display for a moment and then disappear.
- Fixed bug where compile error 468 is thrown when r-code already exists for a test class (Compile aborted. SAVE not specified and r-code file exists)
- Fixed bug the DYNAMIC-NEW failed to create an instance based on the class file-name alone. When r-code was also present in the directory.
- Improved documentation in line with the new Progress Developer Studio (previously named OpenEdge Architect)
- Tested with OpenEdge 11.2 on Windows 7 64bit
1.2
- Version 1.2 requires OpenEdge 10.2B
- Changes to show the error message returned from simple RETURN ERROR "error message" statements
- Updated UI/ResultsWindow.w to show 'RUNNING' while tests are running
- Increased the default height & width of the UI/DetailsWindow.w and improved general readability
- Updated code to use the new ABSTRACT keyword introduced in OpenEdge 10.2b
- Updated Reflection/MethodInfo.cls to use the new DYNAMIC-INVOKE function introduced in OpenEdge 10.2b - removed Util/CallMethod.p
- Updated Runner/BaseRunner.cls to use the new EVENT keyword introduced in OpenEdge 10.2b
- Simplified interfaces for Util/List.cls and Util/IComparator.cls
- Added a change log to the project documentation
1.1
- Added changes to support the OpenEdge 10.2a runtime
- Corrected the method modifiers in UI/ResultsWindowView.cls - causing compile time errors in 10.2a, but was somehow working in 10.1c ?
- Fixed bug in Remove() method of Util/List.cls - elements were being re-indexed incorrectly
1.0
- Initial release - basic functionality to run test cases and suites.
Related Skills
node-connect
354.0kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
112.2kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
354.0kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
354.0kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
