使用 Eclipse IDE 为 z/OS 应用程序生成代码覆盖

代码覆盖率报告显示测试用例执行的代码行占可执行行总数的百分比。 它还可以在程序列表或源中的行级别显示代码覆盖。

关于此任务

您可以对可调试的任何已编译语言应用程序运行代码覆盖。 下面是有关收集批处理应用程序的代码覆盖的示例。 收集代码覆盖的方法因环境而异。

过程

  1. 使用调试信息编译程序。
    注: 如果应用程序的某些部分没有调试信息,那么这些部分不会包括在报告或任何计算中。 要查找没有调试信息的模块,请将结果导出到 PDF 报告,然后按 设置,选择 模块 作为报告类型,并将 隐藏空模块 设置为 false。 该报告将列出所有模块,包括那些具有零个可执行行的模块。 如果您在报告中看到缺少具有零个可执行行的模块,那么这些模块可能没有调试信息。

    在远程调试模式下,支持使用 COBOL、 PL/I、C语言及汇编语言编写,并通过特定编译器选项编译的程序。 更多信息,请参阅远程调试模式下代码覆盖的支持编译器和选项

  2. 修改应用程序的启动 JCL 以包含 EQA_STARTUP_KEYEQA_STARTUP_KEY 环境变量。
    此变量的值必须采用 CC,programName格式。
    例如,请参阅此 JCL 代码中的 EQA_STARTUP_KEY 行:
    // PARM.RUN=('/TEST(,,,DBMDT:*)')
    //******* ADDITIONAL RUNTIME JCL HERE ******
    //CEEOPTS DD *
    ENVAR("EQA_STARTUP_KEY=CC,PRTPRIM")
    /*
    //CEEDUMP DD SYSOUT=*
    注: 此示例使用 EQA_STARTUP_KEY 环境变量。 其名称以 EQA 开头的环境变量与 z/OS® Debugger配合使用。 有关生成JCL代码的信息,请参阅运行时步骤选项IBM® Debug for z/OS不支持使用属性组生成 JCL。
  3. 使用下列其中一种方法提交 JCL:
    • 从 " 远程系统 " 视图中,右键单击 JCL ,然后选择 提交。 或者,可以使用密钥绑定 M1+M3+M。
    • 编辑 JCL 时,右键单击并选择 提交。 或者,可以使用密钥绑定 M1+M3+M。

后续步骤

使用客户机时,请从任何角度启动代码覆盖。 代码覆盖率数据收集将在后台运行 。 完成收集后,代码覆盖报告将在您用于查看和分析结果的透视图中自动打开。