中国空间站建造历程网页设计与网站建设指标点
web/
2025/9/30 17:50:39/
文章来源:
中国空间站建造历程,网页设计与网站建设指标点,民和县wap网站建设公司,检察院网站建设标书目录 前言
Tessy 如何进行打桩操作
普通桩
高级桩
手写桩
Tessy单元测试之指针相关测试注意事项 有类型的指针#xff08;非函数指针#xff09;#xff1a; 有类型的函数指针#xff1a; void 类型的指针#xff1a;
结语
前言
进行单元测试之后#xff0c;但凡…目录 前言
Tessy 如何进行打桩操作
普通桩
高级桩
手写桩
Tessy单元测试之指针相关测试注意事项 有类型的指针非函数指针 有类型的函数指针 void 类型的指针
结语
前言
进行单元测试之后但凡稍微复杂一些的软件都难以避免需要在设置中遇到桩函数今天就来记录一下如何在TESSY中使用桩函数。
首先介绍一下什么是桩函数
桩函数(Stub)是模拟被测试模块所调用的模块。
桩,或称桩代码,是指用来代替关联代码或者未实现代码的代码。如果函数B用B1来代替,那么,B称为原函数,B1称为桩函数。打桩就是编写或生成桩代码。
Tessy 如何进行打桩操作
在tessy里如何给外部函数进行打桩呢
首先需要按照正常流程进行分析函数函数分析没有问题之后再打开TIE这里可以看到函数里有用到的外部函数内圈是白色说明该函数虽然使用到了但是却没有打桩如果返回值是void型直接右击点击 Create Stub for current Testobject),如果返回值非void型需要右键点击 Create advanced Stubfor current Testobject 要注意的是 Create Stub 之后不需要设置passing和target passingCreate Advanced Stub 之后需要设置passing和target passing默认的passing和target passing很可能不正确。
普通桩 1函数没有返回值没有形参可以打普通桩 2 如果函数不影响后续实现以及变量可以打普通桩 3 如果函数本身有返回值但并不使用可以打普通桩 4 函数有形参但不观测可以打普通桩
例如:
extern void STUB_1();
extern hirain_u8 STUB_2();
static hirain_u8 STUB_3(hairain_u8 temp){return temp*temp;};void test_fun_stub_1(void){STUB_1();}
STUB_1() 在当前 c 文件中没有定义直接执行会报未定义错误 要对该函数打普通桩 高级桩 1 如果用到函数返回值需要打高级桩手动控制其返回值 2 如果函数有形参并且需要接口传参检测需要打高级桩
extern void STUB_1();
extern hirain_u8 STUB_2();
static hirain_u8 STUB_3(hairain_u8 temp){return temp*temp;};hirain_u8 test_fun_stub_2(void){hirain_u8 temp STUB_2();return temp;}
被测函数中用到了STUB_ 2 函数的返回值 打普通桩 会报以下错误 所以需要打高级桩在TDE 界面中设置函数调用预期返回值。 例如
extern void STUB_1();
extern hirain_u8 STUB_2();
static hirain_u8 STUB_3(hairain_u8 temp){return temp*temp;};hirain_u8 test_fun_stub_4(hirain_u8 temp){hirain_u8 trm STUB_3(temp);return tem;}
对STUB_3() 函数进行传参检测需要给该函数打高级桩第一个接口为返回值 其余 为形参接口 手写桩 如果需要让桩函数有额外的功能传参检测、局部数据处理、多传参检测、函数 实现变更等 可以进行手写桩:
hirain_u8 loop_test3(hirain_u8 temp){for(hirain_u8 i 0;itemp;i){STUB_3(i);}return 1;
}
想要获取每次函数被调用获取的值可以创建普通桩新建变量然后手写桩函 数完成传参记录。 Tessy单元测试之指针相关测试注意事项 有类型的指针非函数指针
构建 合适 的对象 将地址传入指针接口。 例如
hirain_u8 a;
void TS_FUN_PON_2(hirain_u8 *p,STR *pl)
{a *p;pl-str2 pl-strl;} 首先进入TIE界面查看passing 和target passing不能设置的有冲突 接着回到TED选择需要赋值的指针在表格处右键 Create Pointer Target Value 创建完指针变量之后需要在 Dynamics里给指针变量赋值 有类型的函数指针
构建与指针类型相同的函数对象将地址传入指针接口 在 Declarations /Definition 模块写函数的声明和定义 。
例如
hirain_u32(*T_pon)(hirain_u32 i);
hirain_u32 hirain_stuv(hirain_u32 temp){temp (*T_pon)(temp);return temp;
} void 类型的指针
需要新建一个有类型的全局变量然后将指针 指向该变量 将变量地址传入指针接口。
例如
hirain_u8 TS_FUN_PON_1(int *p,void *p1)
{hirain_u8 temp 0;int *temp1 p1;a *p;return *temp1;}
新建一个变量且命名 在TED界面赋值 结语
本文介绍了当使用Tessy对软件进行单元测试时如何打桩和指针相关测试的注意事项及操作要点希望能给正在摸索Tessy的网友一点点启发。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/84568.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!