本主题解释了如何防止 SOAtest 报告特定的静态分析违规(例如,当你通常遵循一个规则,但在少数例外情况下决定忽略该规则)。抑制方案可以在 GUI 中输入,也可以在源代码中直接定义。

本章包含:

关于抑制

使用抑制来防止 SOAtest 报告特定静态分析任务的附加情况(可能报告单个规则的多个任务)。被抑制的消息将被发送到一个特殊的抑制视图,而不是质量任务视图;这允许你根据需要监视那些违规行为,同时将主要结果区域集中在其他错误上。

当你通常希望遵循某个规则,但在少数例外情况下决定忽略该规则时,你将对这些情况使用抑制。通过使用抑制,你可以继续检查代码是否遵循该规则,而不会收到关于故意违反规则的重复消息。如果不想接收任何违反特定规则的错误消息,我们建议你修改你的测试配置,这样它们就不会再检查该规则。

注意,抑制设置是独立于测试配置的。为了避免混淆,请记住:

  • 测试配置定义了在静态分析期间检查的规则集。
  • 抑制定义了哪些静态分析结果应该在质量任务视图和报告中可见。

这意味着在分析期间将检查测试配置中选择的规则,但是不显示与抑制条件匹配的结果。 

 

抑制是基于消息的,而不是基于规则的。

抑制阻止特定的静态分析任务的报告(例如,修复发生在 Y 行的违反 X 规则的行为);它们并不阻止报告所有违反规则的行为。 

定义抑制

若要抑制质量任务视图中显示的静态分析任务:

  1. 请右键单击表示要抑制的任务的质量任务视图项,然后从快捷菜单中选择 Suppress Task
    • 若要抑制组中的所有任务(规则类别、特定规则、文件等),请右键单击表示该组的节点,然后选择 Suppress All Tasks
  2. 在打开的对话框中输入抑制的原因。

然后任务将被“抑制”并从质量任务视图中删除。将向抑制视图中添加一个抑制条目。如果在此项目的后续测试中发现相同的静态分析违规,则会在抑制视图中报告,而不在质量任务视图中报告。

查看抑制

若要查看在随后的测试运行中报告的被抑制的消息:

  • 请打开抑制视图。如果该视图不可用,请选择 Parasoft> Show View> Suppressions 来打开它。

抑制消息视图将显示以下信息:

  • 被抑制的静态分析冲突。
  • 任务被取消的原因。
  • 应用禁止的资源(文件)。
  • 包含资源的文件夹。
  • 抑制任务的人的名字。
  • 首次实施抑制的日期。

若要按列标题之一对抑制视图内容进行排序,请单击该列标题。

 

你可以编辑一个抑制的消息或原因

在抑制视图中右键单击该选项,从打开的快捷菜单中选择 Edit MessageEdit Reason ,然后在打开的对话框中修改消息或原因。

使用抑制过滤器来限制显示的抑制

你可以使用可用的抑制筛选器来限制在抑制视图中显示哪些抑制。 

若要过滤在抑制视图中显示的抑制:

  1. 请单击抑制视图工具栏的 Filters 按钮。将打开一个过滤器对话框。
  2. 选择 Enabled 复选框,启动过滤器。
  3. 使用对话框的控件指定筛选条件。可用选项包括:
    • Limit visible items to: 显示的抑制数不超过指定的数目。
    • On any resources: 显示所有项目的所有抑制。
    • On any resource in same project: 显示当前选择的项目的所有抑制。
    • On selected resource only: 仅显示为当前选择的资源输入的抑制。
    • On selected resource only and its children: 仅显示为当前选择的资源和该资源的子资源输入的抑制。

清除抑制

选择要移除的抑制项,然后单击视图右上角的红色 X Remove Suppression 图标。

如果在该项目的后续测试中发现相同的静态分析违规,则该任务将在质量任务视图中报告。

  • No labels