问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

单元测试的代码编写

发布网友 发布时间:2022-04-26 01:01

我来回答

1个回答

热心网友 时间:2022-06-19 01:59

 多数讲述单元测试的文章都是以Java为例,本文以C++为例,后半部分所介绍的单元测试工具也只介绍C++单元测试工具。下面的示例代码的开发环境是VC6.0。 class CMyClass
{
public:
int Add(int i,int j);
CMyClass();
virtual ~CMyClass();
private:
int mAge; //年龄
CString mPhase; //年龄阶段,如少年,青年
};
建立对应的测试类CMyClassTester,为了节约编幅,只列出源文件的代码:
void CMyClassTester::CaseBegin()
{
//pObj是CMyClassTester类的成员变量,是被测试类的对象的指针,
//为求简单,所有的测试类都可以用pObj命名被测试对象的指针。
pObj = new CMyClass();
}
void CMyClassTester::CaseEnd()
{
delete pObj;
}
测试类的函数CaseBegin()和CaseEnd()建立和销毁被测试对象,每个测试用例的开头都要调用CaseBegin(),结尾都要调用CaseEnd()。 接下来,我们建立示例的产品函数:
int CMyClass::Add(int i,int j)
{
return i+j;
}
和对应的测试函数:
void CMyClassTester::Add_int_int()
{
}
把参数表作为函数名的一部分,这样当出现重载的被测试函数时,测试函数不会产生命名冲突。下面添加测试用例:
void CMyClassTester::Add_int_int()
{
//第一个测试用例
CaseBegin();{ //1
int i = 0; //2
int j = 0; //3
int ret = pObj->Add(i,j); //4
ASSERT(ret == 0); //5
}CaseEnd(); //6
} 第1和第6行建立和销毁被测试对象,所加的{}是为了让每个测试用例的代码有一个独立的域,以便多个测试用例使用相同的变量名。
第2和第3行是定义输入数据,第4行是调用被测试函数,这些容易理解,不作进一步解释。第5行是预期输出,它的特点是当实际输出与预期输出不同时自动报错,ASSERT是VC的断言宏,也可以使用其他类似功能的宏,使用测试工具进行单元测试时,可以使用该工具定义的断言宏。
示例中的格式显得很不简洁,2、3、4、5行可以合写为一行:ASSERT(pObj->Add(0,0) == 0);但这种不简洁的格式却是老纳极力推荐的,因为它一目了然,易于建立多个测试用例,并且具有很好的适应性,同时,也是极佳的代码文档,总之,老纳建议:输入数据和预期输出要自成一块。
建立了第一个测试用例后,应编译并运行测试,以排除语法错误,然后,使用拷贝/修改的办法建立其他测试用例。由于各个测试用例之间的差别往往很小,通常只需修改一两个数据,拷贝/修改是建立多个测试用例的最快捷办法。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
抖音弹幕怎么关掉?怎么关闭抖音弹幕? 惠普LaserJet P3005D是否支持B5纸的双面打印? word打印出图片总是缺一部分怎么办-word打印图片不完整怎么解决_百度... 理想one哪里产的车辆? 抚州抚州ONE在哪里? one地址在哪里? 如何在图片上写字(如何在图片上添加文字) 网商贷为什么钱没到账 高级经济师职称怎么评 高级经济师需要评审吗 口袋妖怪绿宝石里的炎帝厉害吗 口袋妖怪心金抓炎帝雷皇水君攻略 神奇宝贝第一部第几集有炎帝 口袋妖怪炎帝可否进化? 如何编写单元测试用例 自CSDN 神奇宝贝中炎帝水君雷公都在哪几部中出现过? 口袋妖怪复刻炎帝怎么捕捉 炎帝捕捉攻略 单元测试的测试用例设计主要依据是详细设计说明吗 口袋妖怪怎么抓炎帝啊?? 口袋妖怪漆黑的魅影炎帝怎么样 炎帝属性及搭配解析 如何写单元测试 神奇宝贝水君 雷公 炎帝 在哪里出现过?求详细答案 细数《精灵宝可梦》中的大型猫科动物有哪些? 口袋妖怪绿宝石386版水君、雷皇、炎帝在那抓 《口袋妖怪》漆黑的魅影炎帝跑了之后怎么办? 口袋妖怪心金的炎帝性格、努力分配、配招 精灵宝可梦炎帝技能表 口袋妖怪漆黑的魅影。炎帝在哪里抓? 口袋妖怪炎帝什么性格好 穰皮和面皮的区别? 口袋妖怪漆黑的魅影。炎帝怎么抓啊 抓得我胡子白了,还没抓到。 口袋妖怪 炎帝 什么特性好 下载金钱之味—在线播放—《金钱的味道》—电影—优酷网,视频高清在线观看_1.种子的网址谢恩公! 作文名字是夏天--植物的世界 写一遍观察植物作文70字 谁有描写植物的作文,十万火急!!! 好的加分 孝经 的读后感 老师让我们写三年级第二学期生态植物园春游作文,请问有例文吗? 《奇妙的植物》作文开头 什么是行政复议,有什么特点? 《孝经》读后感 孝经读后感,谢谢 植物王国的秘密作文765 孝经二十四孝读后感怎么写, 孝经 读后感 求《孝经》读后感??先谢过啦! 行政复议一共能复议几次? 孝经三才章第七的读后感 百家讲坛孝经观后感 《二十四孝经图》读后感