Run test cases from the command prompt
- Last Updated: February 11, 2026
- 4 minute read
- OpenEdge
- Version 13.0
- Documentation
You can also run test cases and the test suites from the proenv command prompt. Run the ABLUnitCore.p driver program by passing the test case, the test suite, or the folder containing test cases and the test suites as a parameter.
You have the following options:
- Run multiple test cases by providing the test cases as parameters separated by commas (,...,...).
- Run only the test method or test procedure in a specific test
case by providing the name of the test method or test procedure separated by
#with the test case name.The following command shows you how to use the ABLUnitCore.p driver program:prowin -p driver-program -param parametersThe following examples show you how to run a test class, a test procedure, a test suite, or a test folder:
prowin -p ABLUnitCore.p -param testpackage.testclass prowin -p ABLUnitCore.p -param testprocedure.p prowin -p ABLUnitCore.p -param testSuite.cls prowin -p ABLUnitCore.p -param testSuite.p prowin -p ABLUnitCore.p -param C:\testsNote: You must provide the qualified name of the test class and the full path or the relative path of the test procedure. To run the test classes, the classes must be available in the PROPATH.The following is an example that passes multiple test cases:
prowin -p ABLUnitCore.p -param testclass1.cls prowin -p ABLUnitCore.p -param testclass1#testmethod prowin -p ABLUnitCore.p -param testclass1.cls,testclass2.cls prowin -p ABLUnitCore.p -param testclass1#testM1,testclass2#testM2 prowin -p ABLUnitCore.p -param testProcedure1.p,testProcedure2.p prowin -p ABLUnitCore.p -param testProcedure1.p#testP,testProcedure2.p prowin -p ABLUnitCore.p -param testSuite.cls prowin -p ABLUnitCore.p -param testSuite.p prowin -p ABLUnitCore.p -param "C:\testFolder" prowin -p ABLUnitCore.p -param testclass1.testclass prowin -p ABLUnitCore.p -param testclass1.testclass#testmethod prowin -p ABLUnitCore.p -param testclass1.testclass,testclass2.testclass prowin -p ABLUnitCore.p -param testclass1.testclass#testM1,testclass2.testclass#testM2 prowin -p ABLUnitCore.p -param testProcedure1.p,testProcedure2.p prowin -p ABLUnitCore.p -param testProcedure1.p#testP,testProcedure2.p prowin -p ABLUnitCore.p -param testSuite.cls prowin -p ABLUnitCore.p -param testSuite.p prowin -p ABLUnitCore.p -param "C:\testFolder"Note: Currently, running multiple tests from a single test procedure or test class is not supported. - Pass the configuration file as a parameter as shown below:
prowin -p ABLUnitCore.p -param "CFG=C:\ABLUnit\tests\ablunit.json"Here is a sample configuration (in JSON format) that displays all the valid options.
{ "options": { "output": { "fileName": "results", "location": "C:/ABLUnit/results", "format": "xml" }, "debug": false, "quitOnEnd": true, "writeLog": true, "showErrorMessage": true, "throwError": true, "xref": { "useXref": false, "xrefLocation": "PWD", "xrefExtension": "xref.xml", "xrefThrowError": false } }, "tests": [ { "test": "C:/ABLUnit/tests/MyTestClass.cls" }, { "test": "C:/ABLUnit/tests/MyTestProcedure.p" }, { "folder": "C:/ABLUnit/tests/test-folder" }, { "test": "C:/ABLUnit/tests/MyTestClass1.cls", "cases": [ "testItAgain" ] } ] }optionsspecifies additional data for the run time framework:outputspecifies the location of the output directory to write the test results. The XML is not created if the annotations for a program provided as a (potential) test case cannot be determined. This happens if the program (class or procedure) fails to compile. If the output location is not specified, the results.xml file is generated under the current working directory. This allows changing the location of results.xml just as you would by issuing the following command:prowin -p ABLUnitCore.p -param "TestCaseClass.cls -outputLocation path"Note: Only XML results are supported and the only valid value forformatisxml.- The values for
debug,quitOnEnd,writeLog,showErrorMessage,throwErrorcan betrueorfalseonly. - The
debugoption keeps any generated XREF files on the file system rather than automatically cleaning them up after each test. This can be useful to examine if tests do not run as expected, as these files contain the annotation information as included by the test class/procedure source code.Note: Use of this option may result in numerous temporary files created on the local file system which impact any free storage space available. - If
quitOnEndistrue, then the application closes. It can be set tofalseif another application uses the ABLUnit as a library. For example, ifwriteLogistrue, then a log file, ablunit.log, is created in the current working directory and writes error messages to that log file. - If
showErrorMessageistrue, then the error message is displayed in a new window. - If
throwErroristrue, then the framework displays any errors which occur. It is advisable to set this totruewhen running ABLUnit within another program. - The
xrefproperty is a JSON object with additional parameters:useXrefdenotes that XREF files are provided for the ABLUnit tests. This supports the running of pre-compiled ABLUnit tests (as r-code) by providing pre-generated XREF files for annotation information.xrefLocationis the location where any XREF files reside. The reserved values ofPWDorSRCmay be used to indicate the current directory, while any given location must be a valid location on the file system. In all cases, the search for XREF files is recursive from the location given.xrefExtensionsets the expected file extension for XREF files. By default, Progress Developer Studio for OpenEdge creates files using the .xref.xml extension while .xref is the preferred extension if generating via aCOMPILEstatement with theXREFoption.xrefThrowError, when set totrue, throws an error if an XREF file cannot be found at the specifiedxrefLocation. When set tofalse, an XREF file is generated from the test source code (if available).
testslets you add the tests that you want to run and each test can be configured usingtest:folderspecifies the location that contain the tests. It is equivalent to usingtest, however the reverse is not true.casesare the internal tests (defined as class methods or internal procedures) which can be isolated for execution.