代码实验室: C语言 代码测试 之 匹配器

21 篇文章 0 订阅
8 篇文章 0 订阅

有时C语言代码测试的时候,需要检验 函数参数 的取值范围 是否正确。
这个时候就需要用到  gmock的参数匹配器。

代码举例: 测试下面的代码,验证CheckNumber的参数范围.

extern int CheckNumber(int number);

void Sample1(int count)
{
   for(int i=1;i<=count;i++)
   {
		CheckNumber(i/2);
   }
}

下面测试用例使用了 匹配器 Le  小于等于( less equal )
期待 CheckNumber 的参数 范围小于等于5. 并且运行测试为10次

TEST_F(THE_UNIT, test1)
{
	EXPECT_CALL(_mock,CheckNumber(Le(5)))   //期待参数小于等于5
		.Times(10);                         //期待函数运行测试为10次
	Sample1(10);
}

 Le匹配器是如何实现的呢。
让我们自己来实现一个把。
带参数的 MATCHER语法如下

MATCHER_P(name, param_name, description_string) { statements; }

 所以,Le匹配器的实现代码如下,是不是很简单。

MATCHER_P(LessEqual, n, "") 
{	
   return (arg<=n);
}

gmock常用内置匹配器如下

本例中,所有的代码已经全部准备好了,只需要下载  C语言编码助手 ,直接导入,就可以进行实验,学习和验证。

代码实验室:让struct支持关键字赋值
源代码下载, 复制到浏览器直接下载ctestcode.cn/test/210530_matcher_test.ctestcode
C语言编码助手下载地址 v1.37
win10 x64
版本下载
ctestcode.cn/ctestcode_win10.zip
linux x64
版本下载
ctestcode.cn/ctestcode_linux_x64.zip

wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值