Debugging a unit test case

Before you begin

You must generate and build a unit test case prior to debugging it.

Unit test cases use the IBM® z/OS® Debugger to debug a test case. To prepare a program for debugging, you must build it with certain compiler options. For more information about preparing to use the debugger, see Preparing to debug.

Procedure

  1. From either the z/OS Projects or Project Explorer view, right click on your unit test (*.tc) file and select Debug As > Unit Test.
  2. If you have already run, debugged or collected code coverage for the unit test, the previously created launch configuration will be reused to run the unit test in debug mode. If this is the first time you run or debug the unit test, you will now be prompted to specify additional information in the Unit Test tab of the launch configuration:
    1. Select the RSE connection where you would like to run the unit test, and where the compiled unit test executable exists.
    2. The test case field should be prefilled with the unit test case file that you click on in step 1.
    3. Specify the test case executable on the remote system. Use the Browse button to locate the executable. Once you have specified a valid executable, the member names for the runner configuration and result data sets are computed and filled in.
    4. The runner configuration data set is determined from your default local project settings, and overridden by any project-specific settings. For more information, see Setting preferences for Unit Test.
    5. Optional: Update the runner configuration member name if the computed name is not correct.
    6. Optional: Remove the selection for overwriting the remote runner data set member if you wish to use the existing data set member instead of overwriting it with the local runner configuration file that was created when you generated the unit test case.
    7. The runner result data set is determined from your default local project settings, and overridden by any project specific settings. For more information, see Setting preferences for Unit Test.
    8. Optional: Update the runner result member name if the computed name is not correct.
    9. Optional: Click the Modify Local project settings link to open and modify the properties for the project containing the specified unit test.
  3. Specify any debug console commands you want to run or use during the debug session on the Debug Console Commands tab. See Debug Console Commands Tab for additional information.
  4. Optional: Specify any additional launch configuration options in the Common tab, such as saving the launch configuration to you. For more information, see Common Tab.
  5. Click the Debug button to continue and run the unit test.
  6. You will now see the job progress indicator appear, indicating what phase of JCL generation and submission is happening.
  7. Once the job is submitted, you will see message CRRZI0784I appear. Select the option you prefer to deal with the submitted job.
  8. When the debugger initialization completes, the debug session will start and you will be prompted to switch to the debug perspective. Agreeing to this option is recommended as the debug perspective will contain a useful set of default views.
  9. Debug your unit test.
  10. Once the debug session and job completes, you will see the Unit Test Runner Results editor open with the results of the unit test.

Results

Once you have debugged a unit test case and created a launch configuration, you will not be prompted upon subsequent requests to run, debug or code coverage a unit test from the context menu. You can also reuse and access the created launch configuration from:
  • The Run Configurations menu option for the workbench Run toolbar button , or the Run menu option from the workbench main menu bar.
  • The Debug Configurations menu option for the workbench Debug toolbar button, or the Run menu option from the workbench main menu bar.
  • The Compiled Code Coverage Configurations menu option for the workbench Compiled Coverage toolbar button, or the Run menu option from the workbench main menu bar.