Visual Studio 单元测试 C++ 版 —— 测试已有的工程

来源:互联网 发布:hishop移动云商城源码 编辑:程序博客网 时间:2024/05/29 15:54

1. 简介

  软件质量要求的提升迫使码农们越来越重视单元测试,测试驱动开发的观点受到更多人的支持。目前,支持单元测试的第三方框架也非常丰富,就C++而言,有gtest, CppTest 等。 Visual Studio 自带的单元测试框架也非常的便利。之前一直使用 gtest 进行测试,今天小试了一把VS 的测试框架,将配置过程记录下来。

2. 如何对 exe 工程进行单元测试

  假设已有一个 exe 工程,想要对当前存在的类进行单元测试,在vs 的框架下实现起来非常方便,如下图所示,为已存在的工程项目,我们希望对 CMyClass 类进行单元测试


  1) 增添一个单元测试工程

  选择 File -> Add -> New Project, 在弹出如下图所示的对话框选择 Test -> Native Unit Test Project


  2) 添加需要测试的类对应的 Obj 文件

  选择单元测试工程,右击鼠标 -> Properties -> Linker -> Input -> Additional Dependencies, 输入要测试的obj, 如下图所示


注意,这里的 obj 文件不要使用全路径,只需要输入名字加后缀即可,不支持通配符,例如 *.obj

3)配置obj 路径

选择 Linker ->  General -> Additional Library Directories, 添加上述obj所在的路径, 如下图所示, MyApp 是 CMyClass 所在工程的目录名称, MyApp 和 UnitTest 在同一个Solution 下。



4)配置完成,下面就是写UT case了,UT case 很简单,见下图


5) 运行

选择 Test -> Run -> All Tests


运行结果会在Test Explorer 显示,如下图


至此,一个简单的单元测试就运行成功。Visual Studio 的测试框架支持非常丰富的检测,在这里就不一一介绍。有兴趣的可以查阅一下链接:

http://msdn.microsoft.com/en-us/library/hh694604.aspx

http://blogs.msdn.com/b/dgartner/archive/2012/04/22/using-assert-expectexception-with-native-unit-testing-in-vs11.aspx

http://msdn.microsoft.com/en-us/library/hh270865.aspx

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 电信光纤宽带账号密码忘记了怎么办 遇到尴尬的事情自己缓不过来怎么办 注销微信账号显示非法请求怎么办 微信备份以前的被覆盖了怎么办 之前微信号被新微信号覆盖了怎么办 微信发出的消息变成绿色怎么办 收了客户的资金被骗走了怎么办 淘宝退回去的衣服店家不接收怎么办 淘宝同款衣服价格相差很大该怎么办 淘宝买的衣服退回去了不退钱怎么办 淘宝客人退回的衣服有口红印怎么办 淘宝拍产品照片被投诉著作权怎么办 员工总在节假日忙的时候请假怎么办 买东西商家少给了货应该怎么办 买家退回的衣服有污渍卖家该怎么办 商家说衣服有污渍不退怎么办 退回商家换货不给寄应怎么办 毕业照跟拍摄影师拍砸了怎么办 韵达快递寄快递快递单号丢了怎么办 韵达快递把我的户口本弄丢了怎么办 淘宝卖家发货与实际货物不符怎么办 寄出去的快递不知道物流单号怎么办 淘宝买家所需要的货物填错怎么办 淘宝卖家顾客拒绝签收货要怎么办 闲鱼买家申请退货退款不发货怎么办 在闲鱼买东西买家恶意退货怎么办 淘宝卖家给的退货地址是国外怎么办 淘宝顾客下单了一件代发怎么办 闲鱼上卖东西快递单号填错了怎么办 淘宝收货后快递显示不签收怎么办 淘宝快递显示签收但没收到货怎么办 国外客人收到货后嫌弃质量差怎么办 理发15涨到20客人少了怎么办 微店买家收到货了又退款怎么办 百世快递单号查不到物流信息怎么办 知道快递单号怎么查物流信息怎么办 快递单号一直查不到物流信息怎么办 买家未收到货就发起仅退款怎么办 拼多多收货码短信没了怎么办 淘宝运费险快递单号填错怎么办 如果淘宝小二判定退款不同意怎么办