C++Test 规则创建

(一)

 一条规则rule_1逻辑表达式中常量应该放==号的左边。

void foo() 
{
    
if(nFlag == 0)        /* Violation 此语句就违反了rule_1*/ 
    {
        
return (Ok);
    }
    
else
    {
        
return (ERROR);
    } 
}

 

方法如下:

1、   C++Test菜单栏Tools中选择RuleWizard

 

2、   在规则编写工具RuleWizard中新建Rule

 

 

 

3、  在出现的对话框中Dictionary选择C,C++,还有一个选项是C++Test一般用于C++文本规则的制作,Rule Creation选择By NodeAuto-Create用于手动书写代码而自动生成规则,但是自动生成的规则往往不尽人意,所以一般不用。Node Selections选择if,因为此次书写的规则跟if有关,完成了点击ok

 

 

4、   在工具的右边,显示一个if,外面包围一个红圈,在if上点击右键,因为是一个if条件,所以选择Condition [],否则选择其他。

 

 

 

 

5、   在弹出的树形选择框中选择表达式a==b,因为if的条件中是这个形式

 

 

 

 

6、   选择表达式形式后,对这个形式要进行约束,常量应该放在==号的左边,因此右键点击图中表达式,选择Right Hand Side []

 

 

 

7、   因为规则说,常量应该放在左边,因此,在弹出的树形选择框中应选择Constants(常量),如果规定了具体类型的常量,那么就选择具体的常量类型,如boolstring等等。

 

 

 

8、   这样,规则就编写好了,但是现在不能保存,规则还没有生效,右键点击选择Create OutputàDisplay,并在弹出的message对话框中写入:“常量应放在==号左边”,点击OK后,图中的红色变为了黄色,说明生效了。

 

 

 

 

 

9、   现在可以保存这条规则了,fileàSave As,填写此条规则的基本信息。

 

 

10、测试这条规则,建立测试工程,测试如图所示的代码,可以看到此代码不符合规范

 

 

 

11、Test configurations中添加此规则,并在添加的规则前的方框中打勾,apply后,可以开始测试了。

 

 

 

12、测试的结果显示如下图所示:

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值