Scope 选项卡确定要分析或测试的代码。Scope 选项卡设置仅适用于源代码静态分析。在本章节中:
如何配置和共享测试配置
与配置和共享测试配置相关的通用过程在 Parasoft 测试家族中是标准化的,在 配置策略的测试配置和规则中所描述。
测试期间,SOAtest 将在所选定资源的所有代码上执行所选定操作,其中所选定资源满足所选定测试配置的作用域标准。默认情况下,SOAtest 在所选定项目或资产中的所有文件上进行操作。然而,可以使用 Scope 选项卡来配置限制,如下所示:
- 只测试给定日期之后添加或修改的文件或行。
- 只测试在本地机器上添加或修改的文件或行。
- 只测试指定用户修改的文件。
- 只测试匹配某个特定过滤标准的文件。
某些文件过滤器和行过滤器仅适用于在受支持的源代码控制系统下工作的项目。
文件过滤器
文件过滤器限制 SOAtest 测试不符合指定时间戳和/或作者标准的文件。
- 时间选项:限制 SOAtest 测试不符合指定时间戳标准的文件。可用时间选项包括:
- 没有时间过滤器:不根据文件的最后修改日期过滤任何文件。
- 只测试自截止日期起添加或修改的文件或行。过滤自截止日期以来未添加或修改的文件。
- 只测试最近 ___ 天内添加或修改的文件:过滤未在指定时间段内添加或修改的文件。
- 只测试工作和 ____ 之间修改的文件:过滤在工作的开发人员分支(工作区中)和指定的分支之间未修改的文件(或者,如果启用该选项,则检测到默认的集成流)。流名称可以是来自父开发人员工作流层次结构的任何流。默认集成流为开发人员工作流的父流。例如,如果拥有具有
[Main] --- [Integration] --- [Developer]
这样层次结构的流,则Developer
流的Integration
为默认集成流。此功能仅适用于受支持的源代码管理系统下的文件。 - 只测试本地添加或修改的文件:过滤本机上未添加或修改的文件。该功能仅适用于受支持的源码控制系统下的文件。
- 作者选项:限制 SOAtest 测试不符合特定作者标准的文件。可用的作者过滤选项包括:
- 没有作者过滤器:不根据文件作者过滤任何文件。
- 只测试首选用户编写的文件:过滤不是由特定用户编写的任何文件(比如,过滤掉由其他用户编写的任何文件)。
- Path 选项:配置 SOAtest 过滤匹配特定过滤器标准的文件。使用 "accept” 过滤器来指定要包含的文件类型。使用 "reject" 过滤器来指定要排除的文件类型。对于编码查核测试配置,这些过滤器将预先使用相同的过滤选项进行填充。
过滤器示例
提示
- 可以使用 Perl 风格的表达式。
- 支持以下通配符:
- * 匹配除 '/’之外的 0 或多个字符。
- ? 匹配除 '/’ 之外的任何单个字符。
- ** 匹配包括 '/’ 的 0 或多个字符。它允许包含路径元素。
- 以下示例元素默认添加到编码查核配置:
- **/Bin/**/*.properties 添加到所拒绝通配符示例列表。
- (.*?/(bin|obj)(/x86|/x64){0,1}/(Debug|Release)/.*?\\.(dll|exe|pdb))$ 添加到所拒绝正则表达式示例列表。
正则表达式用于识别特殊的差异。例如,如果希望只标记添加、删除或修改 TODO 标签的源码变更,则将可以差异正则表达式
.*TODO.*
示例
一个基本的文件掩码可能是:
- *.java, *.xml, *.properties
- *.c, *.cpp, *.h, *.cc, *.hpp, makefile, .project, .classpath
- *.c, *.cpp, *.h, *.cc, *.hpp, makefile, *.sln, *.prj, *.res
- *.cs, *.vb, *.sln, *.prj, *.resx
若要包含路径上所存在的名为 "bank" 或 "customer” 的文件夹的每个文件,则使用:
- **/bank/**, **/customer/**
若要包含路径上所存在的名以 "bank” 开头,中间包括 "customer” 或以 "invoice” 结尾的文件夹的每个文件,则使用:
- **/bank*/**, **/*customer*/**, **/*invoice/**
若要包含每个 .java 文件,其中 1) 名称以 "Test” 开头, 2) 定位于名为 "security" (其在任何项目的 src/test 目录中)的文件夹中,则使用:
**/src/test/**/security/Test*.java
若要包含每个 .cs 文件,其中 1) 该文件在 ATM 解决方案中,2) 该文件属于 ATMLib 项目,3)该文件在 CompanyTests 子文件夹内,4)该文件名称以 "Test” 开头,则使用:
ATM/ATMLib/CompanyTests/**/Test*.cs
行过滤器
行过滤器限制 SOAtest 进行操作的代码行。首先应用文件过滤器,以便到达行过滤器的代码必须通过文件过滤器。可用的行过滤选项包括:
- 时间选项:限制 SOAtest 测试不符合指定时间戳标准的代码行。可用时间选项包括:
- 没有时间过滤器:不根据代码行的最后修改日期过滤任何文件。
- 只测试自截止日期起添加或修改的行。过滤自截止日期以来未添加或修改的代码行。该功能仅适用于受支持的源码控制系统下的文件。
- 只测试最近 n 天内添加或修改的行。过滤未在指定时间段内添加或修改的代码行。
- 只测试本地添加或修改的行:过滤本机上未添加或修改的代码行。该功能仅适用于受支持的源码控制系统下的文件。
- 作者选项:限制 SOAtest 测试不符合指定作者标准的代码行。可用的作者过滤选项包括:
- 没有作者过滤器:不根据代码行的作者过滤任何文件。
- 只测试用户编写的文件:过滤掉不是由特定用户编写的任何文件。例如,可以使用它来专注您(或所选定组成员)正在工作的文件。若要指定多个用户,则使用以逗号分割的列表(例如,matt, tom, joe)。
配置作用域和作者:
代码作者信息和最近修改日期按照作用域和作者首选项页面中设置的方式确定;有关可用设置的详细信息,请查阅 配置任务分配和代码作者设置。