C语言单元测试(UT)用例编写 | 您所在的位置:网站首页 › c框架include › C语言单元测试(UT)用例编写 |
stub工具源码:https://github.com/coolxv/cpp-stub/tree/master/src 这里做下简单的背景介绍,ut的基础介绍:可以先去看下先去的文章:https://blog.csdn.net/anranjingsi/article/details/106084223 前面也使用过gtest+gmock框架给C/C++做单元测试,但gmock的使用有着明显的限制:1)必需是C++的类函数词可以被mock; 2)要求编码时就要考虑那些函数会被mock,将其定义为虚函数;3)需要写mock类,代码量大。 所以对于纯C代码或者非C++类的代码就无法使用gmock来对函数进行mock,这里推荐使用cpp-stub对C语言代码打桩做UT,可以简单有效的解决UT测试的打桩问题。 cpp-stub的原理: 获取被打桩函数和桩函数的函数地址,在调用被打桩函数时,替换成桩函数。 cpp-stub的简单教程: 1)安装:在安装完gtest后,只需要将stub.h放入到include的目录中即可; 2)使用:使用也很简单,首先在测试用例cpp中include "stub.h",然后包含被测试的.c文件,构建测试程序,对需要程序中出现的一些需要返回指定值的被调用函数做桩函数替换即可,可见以下简单例子: 假设testStub工程有个被测试c文件func.c: #include "func.h" int check(int a){ return a+50; } int fun_greater100(int a){ if(check(a) |
CopyRight 2018-2019 实验室设备网 版权所有 |