- 博客(26)
- 资源 (54)
- 收藏
- 关注
原创 gtest+svn+hudson 构建持续集成单元测试环境
Gtest+svn+Hudson 构建持续集成单元测试环境作者:wulong710总结一下这两天搭建测试环境的心得。1 任务:项目组的版本管理工作是很麻烦的,每天催人提交代码,然后编译、测试。通不过打回给程序员,再重来。这种繁琐的工作可以交给电脑来做。我们以一个MFC项目为例。Gtest 、hudson和svn这三个工具都很火,把这三个综合一下,就是一个很好的集成测试环境。2 准备2.1 E盘清空2.2 GoogleTest
2010-09-30 15:32:00 6825 7
转载 使用 Hudson 进行持续集成(转载)
使用 Hudson 进行持续集成<br />安装和配置 Hudson 持续集成引擎以持续构建和测试 Oracle ADF 应用程序的基础知识。<br />作者:John Stegeman<br />2010 年 3 月发布<br /> <br />两个或更多的开发人员就一个项目协同工作时会将多个开发人员的代码集成在一起,如果某个开发人员的代码有不良的影响或代码之间发生交互,就可能会出现问题。在“传统”开发环境下,各个开发人员可能会在较长的时间内独立完成各自的代码编写工作,这些代码集成问题可能在实际编写代
2010-09-29 10:27:00 2052 4
转载 Hudson+Maven+Svn搭建持续集成环境(转载)
Hudson+Maven+Svn搭建持续集成环境<br />转自sinye<br />文章分类:软件开发管理<br />一、所用开发工具<br />1. Hudson: Hudson 是一种革命性的开放源码 CI 服务器,它从以前的 CI服务器吸取了许多经验教训。Hudson 最吸引人的特性之一是它很容易配置:很难找到更容易设置的 CI 服务器,也很难找到开箱即用特性如此丰富的CI 服务器。Hudson 容易使用的第二个原因是它具有强大的插件框架,所以很容易添加特性,例如添加tomcat插件后,可以方
2010-09-28 17:10:00 2738
转载 VisualSVN Server的配置和使用方法(转载)
<br />VisualSVN Server的配置和使用方法<br />一、VisualSVN Server的配置和使用方法【服务器端】Www.Svn8.Com<br />安装好VisualSVN Server后【安装过程看这里】,运行VisualSVN Server Manger,下面是启动界面:Bbs.Svn8.Com<br />Bbs.Svn8.Com<br /> Bbs.Svn8.Com<br />好的,下面我来添加一个代码库【Repository】,如下图:<br />Bbs.Svn8.Com
2010-09-28 11:48:00 724
原创 用命令行模式编译MFC项目
想要持续集成,但是选择的开源持续集成工具只支持命令行格式。 那么要集成MFC项目,就要用命令行格式编译。引用 7 楼 zhoujianhei 的回复:使用批处理@cls@call "%VS71COMNTOOLS%vsvars32.bat"@devenv "XXXX.sln" /build Debug%VS71COMNTOOLS%这个是环境变量,用于指定IDE路径。我的批处理程序clscall "c:/Program Files/Microsoft Visual Studio 8/
2010-09-27 18:11:00 1502 1
原创 gtest测试MFC项目
gtest测试MFC项目1. 前言参考《图解MFC程序中使用Google单元测试工具GTest进行TDD开发》,简易版。2. 环境使用VS2005编译下载http://code.google.com/p/googletest/downloads/list/gtest-1.5.0.zip3. 解压gtest-1.5.0.zip包,打开gtest-1.5.0/msvc/ gtest.sln 编译按照DEBUG模式和RELEASE模式各编译一遍,在文件夹gte
2010-09-27 16:08:00 5126 4
转载 图解MFC程序中使用Google单元测试工具GTest进行TDD开发(转载)
<br />Google发布了很多开源的软件,最近尝试了一下Google的单元测试工具GTest,发现很有特色。这里有 个不错的入门教程。GTest有个特色很有意思就是测试方法不需要在头文件定义,直接把实现写在代码里面就行了。写好的测试用例(其实就是一个过程)自动 注册到单元测试引擎,不需要手工注册。但GTest在结果呈现方面比较弱,我所知道只有命令行输出和XML输出。CppUnit在这方面明显强很多,有个 UI工具可用来选择执行测试用例并展示结果。回到GTest,本着方便实用的原则
2010-09-21 17:35:00 2655
转载 玩转 Google开源C++单元测试框架Google Test系列(gtest)之八 - 打造自己的单元测试框架(转载)
一、前言<br />上一篇我们分析了gtest的一些内部实现,总的来说整体的流程并不复杂。本篇我们就尝试编写一个精简版本的C++单元测试框架:nancytest ,通过编写这个简单的测试框架,将有助于我们理解gtest。二、整体设计<br />使用最精简的设计,我们就用两个类,够简单吧:<br />1. TestCase类<br /> 包含单个测试案例的信息。<br />2. UnitTest类<br />负责所有测试案例的执行,管理。三、TestCase类<br />TestCase类包含
2010-09-21 14:13:00 752
转载 玩转 Google开源C++单元测试框架Google Test系列(gtest)之七 - 深入解析gtest(转载)
一、前言<br />“深入解析”对我来说的确有些难度,所以我尽量将我学习到和观察到的gtest内部实现介绍给大家。本文算是抛砖引玉吧,只能是对gtest的整体结构的一些介绍,想要了解更多细节最好的办法还是看gtest源码,如果你看过gtest源码,你会发现里面的注释非常的详细!好了,下面就开始了解gtest吧。二、从TEST宏开始<br />前面的文章已经介绍过TEST宏的用法了,通过TEST宏,我们可以非法简单、方便的编写测试案例,比如:TEST(FooTest, Demo)<br />{<b
2010-09-21 14:11:00 575
转载 玩转 Google开源C++单元测试框架Google Test系列(gtest)之六 - 运行参数(转帖)
一、前言<br />使用gtest编写的测试案例通常本身就是一个可执行文件,因此运行起来非常方便。同时,gtest也为我们提供了一系列的运行参数(环境变量、命令行参数或代码里指定),使得我们可以对案例的执行进行一些有效的控制。二、基本介绍<br />前面提到,对于运行参数,gtest提供了三种设置的途径:<br />1. 系统环境变量<br />2. 命令行参数<br />3. 代码中指定FLAG<br />因为提供了三种途径,就会有优先级的问题, 有一个原则是,最后设置的那个会生效。不过总结一下,通常
2010-09-21 14:10:00 812
转载 玩转 Google开源C++单元测试框架Google Test系列(gtest)之五 - 死亡测试(转载)
一、前言<br />“死亡测试”名字比较恐怖,这里的“死亡”指的的是程序的崩溃。通常在测试过程中,我们需要考虑各种各样的输入,有的输入可能直接导致程序崩溃,这时我们就需要检查程序是否按照预期的方式挂掉,这也就是所谓的“死亡测试”。gtest的死亡测试能做到在一个安全的环境下执行崩溃的测试案例,同时又对崩溃结果进行验证。二、使用的宏<br />Fatal assertionNonfatal assertionVerifiesASSERT_DEATH(statement, regex`); EX
2010-09-21 14:08:00 1035
转载 玩转 Google开源C++单元测试框架Google Test系列(gtest)之四 - 参数化(转载)
一、前言<br />在设计测试案例时,经常需要考虑给被测函数传入不同的值的情况。我们之前的做法通常是写一个通用方法,然后编写在测试案例调用它。即使使用了通用方法,这样的工作也是有很多重复性的,程序员都懒,都希望能够少写代码,多复用代码。Google的程序员也一样,他们考虑到了这个问题,并且提供了一个灵活的参数化测试的方案。二、旧的方案<br />为了对比,我还是把旧的方案提一下。首先我先把被测函数IsPrime帖过来(在gtest的example1.cc中),这个函数是用来判断传入的数值是否为质
2010-09-21 14:07:00 535
转载 玩转 Google开源C++单元测试框架Google Test系列(gtest)之三 - 事件机制(转载)
一、前言<br />gtest提供了多种事件机制,非常方便我们在案例之前或之后做一些操作。总结一下gtest的事件一共有3种:<br />1. 全局的,所有案例执行前后。<br />2. TestSuite级别的,在某一批案例中第一个案例前,最后一个案例执行后。<br />3. TestCase级别的,每个TestCase前后。二、全局事件<br />要实现全局事件,必须写一个类,继承testing::Environment类,实现里面的SetUp和TearDown方法。<br />1. SetUp()方法
2010-09-21 14:06:00 604
转载 玩转Google单元测试框架gtest系列之二 - 断言(转载)
一、前言<br />这篇文章主要总结gtest中的所有断言相关的宏。 gtest中,断言的宏可以理解为分为两类,一类是ASSERT系列,一类是EXPECT系列。一个直观的解释就是:<br />1. ASSERT_* 系列的断言,当检查点失败时,退出当前案例的执行。<br />2. EXPECT_* 系列的断言,当检查点失败时,继续往下执行。二、布尔值检查 <br /><br />Fatal assertionNonfatal assertionVerifiesASSERT_TRUE(condition)
2010-09-21 10:15:00 618
转载 玩转Google单元测试框架gtest系列之一 - 初识gtest(转载)
一、前言<br />本篇将介绍一些gtest的基本使用,包括下载,安装,编译,建立我们第一个测试Demo工程,以及编写一个最简单的测试案例。二、下载<br />如果不记得网址, 直接在google里搜gtest,第一个就是。目前gtest的最新版本为1.3.0,Windows用户可以从下面的网站下载到该最新版本:<br />http://googletest.googlecode.com/files/gtest-1.3.0.zip三、编译<br />下载解压后, 里面有个msvc目录:<br /><br
2010-09-21 10:00:00 818
转载 玩转Google单元测试框架gtest系列 (前言)(转载)
<br />作者:CoderZh<br /> <br />编者按:Google Test是Google C++ Testing Framework的一种非正式的称谓,是google最近发布的一个开源C++测试框架。<br />Google测试框架是在不同平台上(Linux,Mac OS X,Windows,Cygwin,Windows CE和Symbian)为编写C++测试而生成的。它是基于xUnit架构的测试框架,支持自动发现测试,丰富的断言集,用户定义的断言,death测试,致命与非致命的失
2010-09-21 09:59:00 854
转载 软件测试系列之单元测试 (转载)
在vs2005如何使用cppunit 1. 编译cppunit目前在vs2005下直接编译cppunit工程是编译不过去的。还要对cppunit工程做一下适当的改动才能成功编译。虽然网上有些文章介绍使用CPPUnitProjectWizard。但是我查阅了相关资料:发现其实不用安装这个CPPUnitProjectWizard。也可以在vs2005下成功编译和链接Cppunit。首先,在对CppUnitLibraries解决方案做编译之前,需要在硬盘的cppuint目录下新建一个与src文件夹同级的li
2010-09-20 18:42:00 3709
转载 集成单元测试google test (转载)
google test 使用安装:下载Google C++ Testing Framework ,解压...VC2005: 直接打开msvc/gtest.vcproj或msvc/gtest.sln,直接编译即可。Linux/Unix下的GCC: 传统过程:./configure makeMingw:BCC: 用Mingw和BCB6编译需要修改一些代码,过几天我会上传到www.cppprog.com 网站上。使用:首先#include ,当然工程的头文件路径要设置正确1.简单测试TEST
2010-09-20 17:10:00 2809 1
转载 HUDSON入门(转载) 关于持续集成单元测试
2010-04-07持续集成hudson入门文章分类:软件开发管理 极限编程中一项建议实践便是持续集成,持续集成是指在开发阶段,对项目进行持续性自动化编译、测试,以达到控制代码质量的手段。<br /> 持续集成提供了及时发现问题、追踪问题、修复问题的机制,他替代了传统的在所有代码编写完毕后才提交QA部门进行测试的方法。<br /> 持续集成对单元测试较为依赖,测试覆盖率越高,单元测试越准确,越能体现持续集成的效果。持续集成主要在以下方面提供好处;<b
2010-09-20 16:24:00 2554
转载 关于可变参数函数的若干问题(转载)
关于可变参数函数的若干问题(转载)c/c++支持可变参数的函数,即函数的参数是不确定的。一、为什么要使用可变参数的函数? 一般我们编程的时候,函数中形式参数的数目通常是确定的,在调用时要依次给出与形式参数对应的所有实际参数。但在某些情况下希望函数的参数个数可以根据需要确定,因此c语言引入可变参数函数。这也是c功能强大的一个方面,其它某些语言,比如fortran就没有这个功能。 典型的可变参数函数的例子有大家熟悉的printf()、scanf()等。二、c/c++如何实现可变参数的函数?
2010-09-17 14:40:00 585
原创 MFC控件变色
<br />1.设置控件<br /> typedef enum<br /> {<br /> E_CLIENT_STATIC_iniTxt =1,//ini配置信息<br /> E_CLIENT_STATIC_BeginTime//开始运行时间<br /> }E_Client_Static_Index;<br /><br /> volatile BOOL m_b_Static_iniTxt;//ini配置信息FALSE表
2010-09-13 16:43:00 1010 1
转载 (转载MinGW 下编译wxWidgets)
MinGW 下编译wxWidgets<br />大概一年多前,在wxWidgets和Qt中选择了Qt。但是在后来的开发中越来越讨厌Qt的那套做法了。突然怀念起wxWidgets来。所以今天又捡起它。重新开始用wxWidgets做UI。要使用wxWidgets就必须要编译它。因为wxWidgets官方是不提供与编译文件的.<br />下面就说明一下如何编译wxWidgets,我使用的开发环境是MinGW+Msys.其实编译非常简单。但是记录下过程,免得哪天忘记了.<br />1.下载wxWidgets
2010-09-09 14:00:00 859
原创 (转载)MinGW开发的经历感想和一些链接
MinGW开发的经历感想和一些链接<br />文章来源网络 属于c/c++分类 电脑编程网整理 2010/8/4<br />上一篇: C++将对象写入二进制文件 <br />下一篇:ctgas 插件<br />简介:这是MinGW开发的经历感想和一些链接的详细页面,介绍了和c/c++,C MinGW开发的经历感想和一些链接有关的知识,加入收藏请按键盘ctrl+D,谢谢大家的观看!要查看更多有关信息,请点击此处<br />所谓MinGW,就是gcc在windows平台上的port(所生成
2010-09-09 13:54:00 1824
原创 Gvim+ctags+cscope(转载)
<br />1. 安装、配置gvim<br />(1) 使用gvim的安装文件gvim72.exe。<br /> GVIMINSTALLPATH= $GVIMINSTALLPATH<br />(2) 配置gvim,配置文件所在目录为$GVIMINSTALLPATH/_vimrc,将下面内容添加到文件_vimrc的末尾。<br />" TAB距离 (vim配置; vim技巧)<br />set tabstop=4 " 保存一个tab是4个字符<
2010-09-09 11:30:00 1543
转载 XP下MinGW安装配置(转自不详)
安装MinGW后建议配合MSYSv1.0.10.exe使用<br />Windows XP下MinGW的安装与配置 Windows XP下MinGW的安装与配置<br /><br />到http://sourceforge.net/projects/mingw/ 手动去下载最新的MinGW,或使用MinGW-5.1.4.exe,自动下载。但后者往往不能下载到最新的稳定包。<br /><br />1、手动下载说明,参见:http://www.mingw.org/wiki/HO
2010-09-09 10:32:00 1650
转载 用Gvim建立IDE编程环境 (Windows篇)
用Gvim建立IDE编程环境 (Windows篇)<br />转载自:LeeMonCC<br /><br />说明:本文是作者在完全按照著名的《手把手教你把Vim改装成一个IDE编程环境》一文,在Windows XP上用gvim建立IDE环境时所作的备忘。<br />原作地址:http://blog.csdn.net/wooin/archive/2007/10/31/1858917.aspx。<br /><br />0.准备软件及插件。<br />(a)gvim72.exe 地址ftp:
2010-09-09 10:29:00 624
centos下libstdc++
2013-07-13
TexturePacker1.1免费版国产工具
2012-03-20
电子地图easymap源代码,例子
2011-01-10
lua程序编程-1与4版+云风lua源码赏析.zip
2018-01-12
centos下libstdc++-2.10.0-30.sparc.rpm库
2013-07-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人