gtest+svn+hudson 构建持续集成单元测试环境
作者:wulong710
看不到图的请来我博客 http://blog.csdn.net/wulong710/archive/2010/09/30/5916624.aspx
总结一下这两天搭建测试环境的心得。
1 任务:
项目组的版本管理工作是很麻烦的,每天催人提交代码,然后编译、测试。通不过打回给程序员,再重来。这种繁琐的工作可以交给电脑来做。我们以一个 MFC 项目为例。 Gtest 、 hudson 、 svn 这三个工具都很火,把这三个综合一下,就是一个很好的集成测试环境。
2 准备
2.1 E 盘清空
2.2 GoogleTest 地址 http://code.google.com/p/googletest/downloads/list/gtest-1.5.0.zip
2.3 SVN 软件包
2.3.1 SVN 服务器 VisualSVN-Server-2.1.3.msi
2.3.2 SVN 客户端 TortoiseSVN-1.6.10.19898-win32-svn-1.6.12.msi
2.4 Hudson 软件包
2.4.1 hudson.war
2.4.2 apache-maven-2.2.1-bin.zip
2.4.3 apache-tomcat-7.0.2-windows-x86.zip
2.4.4 JDK
3 安装软件包
3.1 编译解压 gtest 源码包,运行 gtest-1.5.0/ gtest-1.5.0/msvc/ gtest.sln 得到 gtestd.lib 库,这是单元测试用的。
3.2 安装 SVN 服务器 VisualSVN 与客户端 TortoiseSVN 。服务器的仓库设在 E:/svn_server/Repositories 。
3.3 安装 hudson
3.3.1 安装 JDK 环境
3.3.2 把 apache-maven-2.2.1-bin.zip 解压到 E:/apache-maven-2.2.1 ,在电脑环境变量中添加 MAVEN_HOME = E:/apache-maven-2.2.1
3.3.3 把 apache-tomcat-7.0.2-windows-x86.zip 解压到 E:/apache-tomcat-7.0.2 ,在环境变量中添加 TOMCAT_HOME = E:/apache-tomcat-7.0.2
3.3.4 把 hudson.wa r 直接拷贝到 E:/apache-tomcat-7.0.2/webapps 文件夹下,设置 hudson 工作目录 在环境变量中添加 Hudson_Home = E:/hudson_directory
图表 1
4 编写 MFC 测试用例
我的工作目录为 D:/mystudy/cpp_repository/test_mfc
4.1 建立对话框工程 test_ok
4.2 从 gtest-1.5.0 包中取出 include 头文件夹和 gtestd.lib 放到 D:/mystudy/cpp_repository/test_mfc/test_ok 文件夹中
图表 2
4.3 设置参数
4.3.1 设置调试模式 Debug —— > 配置管理器—— > 活动解决方案配置—— > 新建。在弹出对话框中“名称”设为 Debug_gtest ,“从此处设置”设为 Debug
图表 3
4.3.2 项目—— > 属性—— > 配置属性—— >c/c++ 常规—— > 附加包含目录,设置为相对路径 ../include 这是我们复制的 gtest 头文件路径。
图表 4
4.3.3 项目—— > 属性—— > 配置属性—— > 链接器—— > 输入—— > 附加依赖项,设置为相对路径 ../gtestd.lib ,
图表 5
4.3.4 项目—— > 属性—— > 配置属性—— > 常规—— > 项目默认—— >MFC 的使用,设置为“在静态库中使用 MFC ”。
图表