本主题说明如何从 C/C++test 命令行界面(cpptestcli)运行测试,这在命令行界面(cli)中进行了介绍。

各节内容包括:

先决条件

命令行模式需要一个命令行界面许可证 ( C++test Server Edition 提供 )。

C++test 有两种命令行界面许可证可用:

  1. 扩展命令行模式 在 Automation Edition 中提供,并且可用于 Custom Edition。
  2. 桌面命令行模式 只对自定义版本可用。桌面命令行模式提供了与扩展命令行模式类似的函数,除了并行处理被限制为在桌面命令行模式下针对给定任务(例如静态分析)同时执行 8 个并行线程。

设置概述

Parasoft C/C++test Professional 有两种用户模式:在 GUI 中桌面交互使用和通过命令行界面(CLI)的命令行模式。 CLI 界面是 Automation Edition 的标准功能。 

CLI 模式通常用于结合常规/持续构建或作为自动回归测试基础结构的一部分执行常规或连续代码分析和测试。可以调用 C/C++test CLI 在完整的 Visual Studio 解决方案上,或者在解决方案中包含一个或多个项目或源文件。 作为 CLI 执行的一部分,C/C++test 可以执行以下一项或多项操作:

作为执行的一部分,C++test 可以使用您的 SCM 客户端(如果支持)自动从 SCM 系统检索文件修改信息,并根据代码分析和执行测试的结果为特定个人生成任务。

通过【测试配置】和【首选项】控制 C/C++test 的特定执行选项。

可以从内建集中获取测试配置 ,也可以在 GUI 中使用 C/C++test 交互模式创建测试配置。我们建议将内建配置用作特定于客户的配置的起始模板。

可以从 C/C++test GUI 配置首选项。大多数首选项设置还可以随配置文件一起提供,该配置文件作为 CLI 调用的参数提供。本地设置(选项)文件中提供了配置文件首选项设置的表。默认情况下,将应用从 GUI 设置的 C/C++test 首选项。可以单独使用包含在给定运行中的配置文件中包含的优先级值来覆盖这些值。这使您可以为所有 CLI 运行配置一组基本的首选项,然后通过为具有给定【测试配置】的特定运行提供附加的配置文件,根据需要更改各个设置。例如,这可以用于在不同运行的报告中包含不同的信息,或更改报告的电子邮件分发选项,包括报告名称,电子邮件标题等。

步骤 1:配置首选项

可通过Parasoft> 首选项菜单访问 C/C++test 首选项。 首先配置以下首选项:

步骤 2:自定义测试配置

按照 配置测试配置中所述创建自定义测试配置。

步骤 3:创建一个本地设置文件

本地设置(选项)文件中所述创建一个本地设置文件。

步骤 4:在当前正在运行的构建系统中激活 CLI(例如批处理脚本)

例如,您的命令行可能类似于以下内容:

每次批量运行后将发送报告,并且趋势报告将填充数据。还可以通过 Parasoft>浏览> 团队服务器报告来查看报告。

Cli 的用法

从命令行进行测试的一般过程如下:

除非被测试的源文件包含标头,否则 C/C++test 不会直接测试标头。请参见 如何分析头文件/分析了哪些文件?Troubleshooting and FAQs#How do I analyze header_files有关详细信息。

C/C++test 确实对实例化的函数模板和类模板的实例化成员执行静态分析和单元测试。有关详细信息,请参见支持函数模板

  • C++test 不支持使用 Cygwin 的"/cygdrive/DISK/PATH"格式指定的文件路径。而是使用标准 Windows 路径格式。
  • 根据 shell/控制台,文件路径中的反斜杠应转义/加倍;例如"C:\\MyLocation\\MyFile"
  • 当在选项文件中使用时(使用-localsettings选项),必须将文件路径中的所有反斜杠转义/加倍。另外,您可以使用正斜杠;例如 "C:/MyLocation/MyFile".

Cli 调用

cpptestcli 的一般调用形式为:

通常,调用遵循以下模式:

如果要从分析/测试中排除某些文件(例如,防止对自动生成的文件进行静态分析),则可以按照从测试中排除项目资源中的说明指示不应测试哪些项目资源。 在 GUI 中执行此配置,然后将该设置应用于该项目上的所有测试-从 GUI 或从命令行。

Cli 选项

下表列出了可用的cpptestcli选项。

常规选项


Visual Studio IDE 中可用的用于测试项目的选项

选项目的注意

-solution %SOLUTION_FILE%指定要使用的解决方案文件的位置-solution %SOLUTION_FILE%

指定要使用的解决方案文件的位置。指定要使用的解决方案文件的位置。

N/AN/A 指定要使用的解决方案文件的位置。

-resource %RESOURCE%

指定要测试的工作空间资源%RESOURCE% 的路径。

多次使用以指定多个资源。

当资源路径包含空格或其他非字母数字字符时,使用引号。

如果 %RESOURCE% 是 .properties 文件,则与com.parasoft.xtest.checkers.resources 相对应的值将解释为用冒号(:)- 分隔的资源列表。用这种方法只能指定一个属性文件。如果 %RESOURCE% 是.lst 文件,则每一行都将被视为资源。如果在命令行上未指定资源,则将测试整个工作空间。

例如,要在 C++test ATM 示例中测试ATM.cxx文件,可以使用 -resource "ATM/Source Files/ATM.cxx"(不带解决方案名称)

或者

-resource "Examples/ATM/Source Files/ATM.cxx" (带解决方案名称)

其他示例:

-resource "MySolution/MyProject"

-resource "MySolution/MyProject/Source Files"

-resource "MySolution/MyProject/SourceFiles/MyClass.cpp"

-resource "c:\testedprojects.properties"

  • 要查看有效命令行选项的列表,请输入 cpptestcli -help
  • Cpptestcli 自动通过电子邮件向指定的组管理人员和架构师发送一份报告,该报告列出了所有的团队/项目错误,并确定哪个开发人员应对每个错误负责。如果未报告错误,则将发送报告,除非选项文件包含 report.mail.on.error.only=true 选项。
  • 如果满足适当的先决条件,则cpptestcli会自动通过电子邮件向每个开发人员发送一份报告,该报告仅包含与他或她的工作有关的错误/结果。如果未报告特定开发人员的错误,则不会通过电子邮件将报告发送给该开发人员。

本地设置(选项)文件

可以在命令行中传递 Localsettings 文件,以控制报告、任务分配、许可等选项。这使您可以:

您可以为不同的项目创建不同的选项文件,然后使用-localsettings选项指示当前命令行测试应使用哪个文件。

请参见 配置本地设置以获取有关 localsettings 文件和可用设置列表的信息。