本节提供有关 Ant 的 Jtest 任务及其参数的信息。提供以下任务:

jtest

执行 Jtest 的 Ant 任务。

参数(嵌套元素)

名称接受的值/数据类型说明是否必需
compilation编译手动配置数据的说明(请参阅手动自定义编译数据
compilations列表手动配置数据的说明列表(请参阅手动自定义编译数据
config字符串

dataUpdate字符串

允许手动更新从构建中收集的编译数据。

用户属性为jtest.dataUpdate

exclude字符串

指定所选资源中的文件或包的子集并从分析中排除。您可以提供限定名称或使用 Ant glob 匹配更多文件名。

用户属性为jtest.exclude

excludes列表

exclude 参数列表。

用户属性为jtest.excludes

excludeTestSourcestrue | false

从分析中排除测试源代码。

用户属性为jtest.excludeTestSources

failtrue | false

报告任何违规时,构建失败。

用户属性为jtest.fail

home路径

指定 Jtest 安装目录。如果未定义,将使用 PATH 中指定的 Jtest 位置。

用户属性为jtest.home

建议指定
ignoredIds列表

忽略的 compilation ID 列表。

用户属性为jtest.ignoredids

include字符串

指定所选资源中的文件或包的子集并包含在分析中。

用户属性为jtest.include

includes列表

include 参数列表。

用户属性为jtest.includes

publishtrue | false启用将本地分析的结果发送到 DTP 服务器

用户属性为jtest.publish

report路径

指定创建报告的目录。

用户属性为jtest.report

resource字符串

指定分析的输入范围。如果没有指定资源,Jtest 将分析每个构建项目中的资源。

用户属性为jtest.resource

resources列表

resource 参数列表。

用户属性为jtest.resources

settings路径

包含自定义配置设置的 *properties 文件的绝对或相对路径。

用户属性为:jtest.settings

settingsListListq

settings 参数列表。

用户属性为jtest.settingsList

showDetailstrue | false

显示详细的进度信息。

用户属性为jtest.showdetails

showSettingstrue | false

打印当前设置和自定义设置,以及每个设置和自定义设置的位置信息(例如,在 jtest.properties 文件中)。

用户属性为jtest.showsettings

skiptrue |false

允许跳过 Jtest 执行阶段。如果设置为 true,则只生成 jtest.data.json 数据文件。

用户属性为jtest.skip

tempDir路径临时资源(如数据文件或缓存)存储位置的路径。此设置与报告位置无关。


参数的详细信息

config

测试配置的名称。支持以下配置类型:

  • 内建测试配置,例如 "builtin://Recommended Rules"
  • dtp 测试配置,例如 "dtp://New Config"
  • 用户自定义测试配置,例如 "user://Your Config"

用户自定义测试配置应作为 *.properties 文件存储在 [INSTALL_DIR]/configs/user 目录中。

dataUpdate

允许手动更新从构建中收集的编译数据。

  • 支持的操作:prepend、append 和 set。
  • 支持的数据类型:classpath、bootpath、sourcepath、resourcepath、binarypath、sourcecode(仅限 set)和 encoding(仅限 set)
  • 范围:将更新收集的所有项目数据

更多信息,请参阅手动自定义编译数据编译数据模型

exclude

指定所选资源中的文件或包的子集并从分析中排除。可以提供限定名称。您可以使用 glob 模式来匹配更多的文件名。

示例 1:以下模式会排除 com.parasoft 包及其子包中的所有文件: /com/parasoft/**

示例 2:以下模式会排除 com.parasoft.jtest 包中的所有文件,但不排除其子包中的所有文件: /com/parasoft/jtest/*

示例 3:以下模式会排除指定目录及所有子目录中的所有文件:path:/home/user/project/src/test/java/**

include

指定所选资源中的文件或包的子集并包含在分析中。您可以使用 glob 模式来匹配更多的文件名。

示例 1:以下模式会包括 com.parasoft 包及其子包中的所有文件:/com/parasoft/**

示例 2:以下模式会包括 com.parasoft.jtest 包中的所有文件,但不排除其子包中的所有文件:/com/parasoft/jtest/*

示例 3:以下模式会包括指定目录和所有子目录中的所有文件:path:/home/user/project/src/test/java/**

resource

指定分析的输入范围。如果没有指定资源,Jtest 将分析每个构建项目中的资源。

使用以下模式指定路径: ${ProjectName}/my/src/dir/my/package/file.java"。您可以使用以下通配符:

  • ? - 匹配一个字符
  • * - 匹配零个或多个字符,不包括路径分隔符(/ 字符)
  • ** - 匹配整个路径,包括路径分隔符(/ 字符)

settings

包含自定义配置设置的 *properties 文件的绝对或相对路径。

某些设置名称可能与构建系统插件专用的设置不一致。详细信息,请参阅配置设置

agent


参数

名称接受的值/数据类型说明是否必需
taskJUnit | Java将收集覆盖率的任务。如果将 skip 参数设置为 true,该任务将在不使用 Jtest 代理的情况下执行。
property字符串

允许为 -javaagent 设置额外的参数。

用户属性为jtest.agentProperty

home路径

Jtest 安装目录。

用户属性为jtest.home

skiptrue | false

允许跳过 Jtest 执行阶段。如果设置为 true,则只生成 jtest.data.json 数据文件。

用户属性为jtest.skip

runtimeDataLocation路径

覆盖率运行时数据存储文件的路径。

用户属性为jtest.runtimeDataLocation

metadataLocation路径

覆盖率元数据存储文件的路径。

用户属性为jtest.metadataLocation

coverage 

用于配置覆盖率收集的参数集。

  • jtest.coverage.skip - 禁用覆盖率收集。
  • jtest.coverage.includes - 用于包含类的 <Glob> 模式。将收集覆盖率信息。
  • jtest.coverage.excludes - 用于排除类的 <Glob> 模式。不收集覆盖率信息。
  • jtest.coverage.testIncludes - 用于包含测试类的 <Glob> 模式。测试用例会被分配覆盖率。
  • jtest.coverage.testExcludes - 用于排除测试类的 <Glob> 模式。测试用例不会被分配覆盖率。

参数的详细信息

coverage

默认值为:

<jtest> 
  <coverage> 
    <skip>false</skip> 
    <includes> 
      <include>**</include> 
    </includes> 
    <excludes>< excludes> 
    <testIncludes> 
      <testInclude>**/*Test.class</testInclude> 
    </testIncludes> 
    <testExcludes><testExcludes> 
  </coverage> 
 </jtest> 


metadataLocation

默认值为: ${basedir}/parasoft/jtest-instrument/metadata.data

property

有关可用选项的列表,请参阅配置覆盖率代理。作为 -javaagent 的参数提供的属性会覆盖 agent.properties 文件中配置的属性。


runtimeDataLocation

默认为:${basedir}/parasoft/jtest-instrument/runtimedata.data


monitor


此任务扫描构建以生成 Jtest Java 代理的设置,并在使用 monitorLocation 参数指定的位置中创建一个 monitor 包。

monitor 包中包含以下文件:

  • static_coverage.xml - 包含静态覆盖率信息的文件
  • agent.jar - Jtest Java 覆盖率代理 jar 包
  • agent.properties - 包含构建过程中生成的范围参数和其他属性的代理设置文件
  • agent.sh/agent.bat - 生成应用程序监控所需的 Jtest Java 代理 VM 参数的脚本
  • opentelemetry-javaagent.jar 和 jtest-otel-ext.jar - 在多用户覆盖率模式中使用的文件:原始 OpenTelemetry Java 代理及其 Jtest 扩展。此扩展用于收集将收集到的覆盖率数据分配给特定用户所需的信息。这些文件<INSTALL_DIR>/integration/coverage 目录拷贝。

命令行执行

确保在命令行中执行 jtest:monitor 目标之前编译测试和类(编译阶段)。

属性

名称接受的值/数据类型说明是否必需
agentServerEnabledtrue | false

用于启用代理服务器的选项。

默认值为:true

用户属性为:jtest.agentServerEnabled

autostartAgenttrue | false

用于自动启用覆盖率收集的选项。

默认值为:true

用户属性为:jtest.autostartAgent

compilation配置手动配置数据的说明(请参阅手动自定义编译数据
coverage

用于配置覆盖率收集的参数集。

  • jtest.coverage.skip - 禁用覆盖率收集。
  • jtest.coverage.includes - 用于包含类的 <Glob> 模式。将收集覆盖率信息。
  • jtest.coverage.excludes - 用于排除类的 <Glob> 模式。不收集覆盖率信息。
  • jtest.coverage.testIncludes - 用于包含测试类的 <Glob> 模式。测试用例会被分配覆盖率。
  • jtest.coverage.testExcludes - 用于排除测试类的 <Glob> 模式。测试用例不会被分配覆盖率。
exclude字符串

指定所选资源中的文件或包的子集并从分析中排除。您可以提供限定名称或使用 Ant glob 匹配更多文件名。

用户属性为jtest.exclude

excludes

exclude 参数列表。

用户属性为jtest.excludes

home路径

指定 Jtest 安装目录。如果未定义,将使用 PATH 中指定的 Jtest 位置。

用户属性为jtest.home

建议指定
ignoredIds列表

忽略的 compilation ID 列表。

用户属性为jtest.ignoredids

include字符串

指定所选资源中的文件或包的子集并包含在分析中。

用户属性为jtest.include

includes

include 参数列表。

用户属性为jtest.includes

monitorLocation路径

monitor 包创建位置的路径。

默认值为: ${project.build.directory}/jtest/monitor/monitor.zip

用户属性为:jtest.monitorLocation

publishtrue | false

启用将本地分析的结果发送到 DTP 服务器

用户属性为jtest.publish

report路径

指定创建报告的目录。

用户属性为jtest.report

resource字符串

指定分析的输入范围。如果没有指定资源,Jtest 将分析每个构建项目中的资源。

用户属性为jtest.resource

resources列表

resource 参数列表。

用户属性为jtest.resources

settings路径

包含自定义配置设置的 *properties 文件的绝对或相对路径。

用户属性为jtest.settings

settingsList列表

settings 参数列表。

用户属性为jtest.settingsList

showDetailstrue | false

显示详细的进度信息。

用户属性为jtest.showdetails


showSettingstrue | false

打印当前设置和自定义设置,以及每个设置和自定义设置的位置信息(例如,在 jtest.properties 文件中)。

用户属性为jtest.showsettings

skiptrue | false

允许跳过 Jtest 执行阶段。如果设置为 true,则只生成 jtest.data.json 数据文件。

用户属性为jtest.skip

参数的详细信息

exclude

指定所选资源中的文件或包的子集并从分析中排除。可以提供限定名称。您可以使用 glob 模式来匹配更多的文件名。

示例 1:以下模式会排除 com.parasoft 包及其子包中的所有文件:/com/parasoft/**

示例 2:以下模式会排除 com.parasoft.jtest 包中的所有文件,但不排除其子包中的所有文件:/com/parasoft/jtest/*

示例 3:以下模式会排除指定目录及所有子目录中的所有文件:path:/home/user/project/src/test/java/**

include

指定所选资源中的文件或包的子集并包含在分析中。您可以使用 glob 模式来匹配更多的文件名。

示例 1:以下模式会包括 com.parasoft 包及其子包中的所有文件:/com/parasoft/**

示例 2:以下模式会包括 com.parasoft.jtest 包中的所有文件,但不排除其子包中的所有文件:/com/parasoft/jtest/*

示例 3:以下模式会包括指定目录和所有子目录中的所有文件:path:/home/user/project/src/test/java/**

resource

指定分析的输入范围。如果没有指定资源,Jtest 将分析每个构建项目中的资源。

使用以下模式指定路径: ${ProjectName}/my/src/dir/my/package/file.java"。您可以使用以下通配符:

  • ? - 匹配一个字符
  • * - 匹配零个或多个字符,不包括路径分隔符(/ 字符)
  • ** - 匹配整个路径,包括路径分隔符(/ 字符)

settings

包含自定义配置设置的 *properties 文件的绝对或相对路径。

某些设置名称可能与构建系统插件专用的设置不一致。详细信息,请参阅配置设置

 

  • No labels