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
- Visual Studio 单元测试 C++ 版 —— 测试已有的工程
- 在已有的Visual Studio工程中加入CU文件
- Android程序测试(1)——新建一个简单的测试工程来测试已有的工程
- Android程序测试(1)——新建一个简单的测试工程来测试已有的工程
- Visual Studio 单元测试之三---压力测试
- Visual Studio 单元测试之四---Generic测试
- Visual Studio 单元测试之五---数据库测试
- Visual Studio 单元测试 C++ 版
- Visual Studio 2013 C/C++单元测试
- flex 打开已有的工程
- 带你玩转Visual Studio——单元测试
- 带你玩转Visual Studio——单元测试
- visual studio 2017 创建C项目工程
- Visual Studio 单元测试之六---UI界面测试
- Visual Studio 单元测试之三---压力测试 (转)
- Visual Studio 单元测试之四---Generic测试 (转)
- Visual Studio 单元测试之五---数据库测试 (转)
- Visual Studio 单元测试之六---UI界面测试 (转)
- php输出excel
- libpuzzle-php扩展比较图片间的相似性
- linux 查看命令帮助
- ubuntu 桌面上添加回收站
- pbsk browser
- Visual Studio 单元测试 C++ 版 —— 测试已有的工程
- flex 如何获取datagrid中cell的数据
- Flex/Actionscript定时Timer实践运用
- HTML 5 form属性支持
- VS 2010 【LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏】
- 常用的js函数方法
- oracle学习笔记——1
- table设计模式
- css之margin collapse(外边距叠加)