Loading
0

自动化测试工具Parasoft C/C++test如何在cpptestcli命令行中过滤文件

在现代软件开发生命周期中,持续且高效地保障代码质量是确保项目成功的关键。Parasoft C/C++test作为一款功能强大的自动化测试工具,为C/C++语言提供了从静态分析到单元测试、再到运行时错误检测的全方位质量保障方案。其命令行接口cpptestcli更是实现了与持续集成(CI)系统的无缝对接,允许开发团队在构建流水线中自动执行代码质量检查。

>>点击获取Parasoft C/C++test试用

为了在复杂的项目结构中精确控制测试范围,C/C++test提供了如-resource和-include等多种灵活的路径指定参数,这正是高效集成该工具到自动化流程中的核心技巧。

当使用cpptestcli命令行时,我们可以使用下面的两个选项来指定要执行的测试范围:

-resource  要求指定工作空间的资源相对位置

-include  要求指定系统中的实际文件路径位置

例如,有个Visual Stduio 解放方案 Example.sln,其中包含“ATM”项目以及文件夹 “Source Files”。如下图所示:


但是,在实际的系统路径中,项目是存储在如下位置: C:/CASE/2005/Atm

源码文件存储在系统位置: C:/CASE/2005/Atm/src

我们可以按照如下命令去执行测试:

命令1:

cpptestcli -solution "C:\CASE\2005\Examples.sln" -resource "Examples/ATM/Source Files" -config "Parasoft's Recommended Rules"

命令1是在告诉C/C++test:在Examples.sln解决方案里,找到名为ATM的项目,并只分析其逻辑文件夹Source Files下的文件。这种方式与开发人员在IDE中看到的项目结构完全一致,非常直观。然而,它依赖于工具对项目文件的正确解析。

相比之下,-include参数则绕过了项目逻辑结构,直接基于文件系统的物理路径进行过滤。

命令2:

cpptestcli -solution "C:\CASE\2005\Examples.sln" -resource "Examples/ATM/Source Files" -config "Parasoft's Recommended Rules"

命令2直接指向磁盘上的src目录。这种方式的优势在于直接和明确,不受项目文件解析情况的影响,特别适用于项目结构复杂或存在符号链接等特殊情况。同时,-include支持Ant风格的通配符(如**/src/*.c),能够更灵活地匹配文件模式。

上述的两种命令效果是一致的,即对解决方案的“ATM”项目执行静态分析,测试配置选用“Parasoft's Recommended Rules”。

结合使用参数以实现更精细的过滤是提升测试效率的进阶实践。在某些场景下,单独使用一个参数可能无法满足需求。例如,一个项目内可能包含多种类型的文件(如源码、测试代码、自动生成的代码),而我们只想分析其中特定子目录下的源文件。这时,就可以将-resource和-include组合使用:

cpptestcli -solution "C:\CASE\2005\Examples.sln" -resource "Examples/ATM" -include "**/src/*" -config "Parasoft's Recommended Rules"

该命令首先将测试范围限定在ATM项目内(逻辑过滤),然后在此基础上,只包含任何深层子目录下src文件夹中的所有文件(物理过滤)。这种“逻辑+物理”的双重过滤机制,赋予了用户极强的控制能力。

Parasoft C/C++test通过提供-resource、-include等参数,赋予了开发团队在复杂项目环境中精准控制测试范围的强大能力。这种灵活性确保了该工具不仅能执行全面的全量分析,更能高效地集成到持续集成流水线中,实现快速的增量代码检查。Parasoft C/C++test还能基于同样的范围控制机制,自动化地生成并执行单元测试用例、进行代码覆盖率分析、以及检测内存泄漏和数据竞争等运行时缺陷。这些功能共同构成了一个完整的质量保障体系,帮助客户在开发流程的早期和中期持续地提升代码质量、确保合规性并最终交付更可靠、更安全的软件产品。

关于慧都

慧都科技(EVGET)成⽴于2003年,是⼀家⾏业数字化解决⽅案公司,⻓期专注于软件、油⽓与制造⾏业。公司基于深⼊的业务理解与管理洞察,以系统化的业务建模驱动技术落地,帮助企业实现智能化运营与⻓期竞争优势。

慧都科技作为Parasoft公司在中国区的官方授权合作伙伴,为国内企业提供Parasoft C/C++test产品的正版授权、定制化部署与全生命周期技术支持与服务。我们致力于助力客户精准贯彻功能安全标准、全面提升软件开发效率、有效管控项目风险,最终构建符合国际标准的高质量软件体系。