在刚学习单元测试章节的时候,尝试着使用dev—c++来编译cppunit,但一直没成功,也尝试问过同学,一直没有很好的方法,因此浪费了不少时间。今天又耐心的尝式一下,意外成功了。以下是详细的安装步骤:

(cppunit版本是cppunit-1.12.1.tar.gz,下载链接http://downloads.sourceforge.net/cppunit/cppunit-1.12.1.tar.gz,Windows,VS2013)

1)下载cppunit-1.12.1.tar.gz,解压

2)进入cppunit目录下src文件夹,用VS2013打开CppUnitLibraries文件,提示需要转换,选择确定;右键cppunit,选择属性,在弹出窗口将目标文件名由$(ProjectName)改为$(ProjectName)d 同样将cppunit_dll的目标文件名改成cppunitd_dll;将DllPlugInTester改成$(ProjectName)d_dll;将TestPlugInRunner的改成$(ProjectName)d;将TestRunner的改成$(ProjectName)d;

3)右键DSPlugin属性->配置属性->链接器->高级->无入口点,将“否”改为“是”;

4)打开TestRunner\UserInterface\MsDevCallerListCtrl.cpp,将version由7.0改为8.0;

5)在VS中选择生成->批生成,全选后点击生成;

等待编译结束,会有一些错误,只要最后进入lib文件夹下,出现cppunitd.lib即可。

至此,cppunit的安装编译成功。

若要正确的使用cppunit,需在新建项目时将include,lib文件夹包含进项目,具体如下:

至此,测试项目的基本环境的搭建算完成。

通过对老师给的若干例子进行测试,逐渐了解单元测试的框架。

 #include <cppunit/extensions/HelperMacros.h>

 class testRobotClass :public CppUnit::TextFixture
{
CPPUNIT_TEST_SUITE(testRobotClass);
CPPUNIT_TEST(testRobotClass1); //可有多个测试用例;
CPPUNIT_TEST(testRobotClass2);
CPPUNIT_TEST_SUITE_END(testRobotClass);
public:
void setUp();
void tearDown();
testRobotClass();
~testRobotClass();
void testRobotClass1();
void testRobotClass2();
};

test_RobotClass.h

 #include "test_RobotClass.h"
#include "RobotClass.h" CPPUNIT_TEST_SUITE_NAMED_REGISTRATION(testRobotClass, "allTest"); testRobotClass::testRobotClass()
{ };
testRobotClass::~testRobotClass()
{ };
void testRobotClass::setUp()
{
std::cout << "begin test" << std::endl;
};
void testRobotClass::tearDown()
{
std::cout << "finish test" << std::endl;
};
void testRobotClass::testRobotClass1()
{
.....
};
void testRobotClass::testRobotClass2()
{ ...
};

test_RobotClass.c

 #include <cppunit/extensions/TestFactoryRegistry.h>
#include <cppunit/ui/text/TestRunner.h> int main()
{
CppUnit::Test *suite = CppUnit::TestFactoryRegistry::getRegistry().makeTest();
CppUnit::TextUi::TestRunner runner;
runner.addTest(suite);
return ;
}

testmain.cpp

上述代码仅表示测试的框架结构,还有很多地方需要修改,明天继续学习测试方面的知识。

单元测试篇----cppUnit的安装与使用的更多相关文章

  1. 【转】linux下cppunit的安装

    以下内容来自:http://www.51testing.com/html/51/279751-170160.html 1. 安装 cppunit的下载地址为:http://sourceforge.ne ...

  2. cocos2d-x -------之笔记篇 环境的安装

    cocos2d-x -------之笔记篇 环境的安装 使用到的工具有VS2010  cygwin android-NDK eclipse android SDK 1.首先是android相关环境的安 ...

  3. 持续集成之单元测试篇——WWH(讲讲我们做单元测试的故事)

    持续集成之单元测试篇--WWH(讲讲我们做单元测试的故事) 前言 临近上线的几天内非重大bug不敢进行发版修复,担心引起其它问题(摁下葫芦浮起瓢) 尽管我们如此小心,仍不能避免修改一些bug而引起更多 ...

  4. 从零开始使用git第一篇:下载安装配置

    从零开始使用git 第一篇:下载安装配置 第一篇:从零开始使用git第一篇:下载安装配置 第二篇:从零开始使用git第二篇:git实践操作 第三篇:从零开始使用git第三篇:git撤销操作.分支操作和 ...

  5. 第一篇博客 安装open live writer

    第一篇博客安装open live writer http://openlivewriter.org/ 有的人可能会打不开,所以我准备了一个百度云的链接地址 链接:https://pan.baidu.c ...

  6. CDH6.2安装配置第二篇:CDH安装的前期配置

    本篇介绍cdh安装之前需要的一些必要配置,当然这些配置也可以用shell脚本来配置.在安装之前请先配置好yum源,在文中用的统一都是阿里源.在安装的时候,要确保主机的内存是4G以上,要不然会无限重启c ...

  7. Visual Studio 2012使用NUnit单元测试实践01,安装NUnit并使用

    在Visual Studio 2012中,默认使用Microsoft自带的MS-Test测试框架.但,Visual Studio同样允许使用第三方测试框架,比如NUnit,xUnit,MbUnit,等 ...

  8. Pytest单元测试框架-Pytest环境安装

    unittest是python自带的单元测试框架,它封装好了一些校验返回的结果方法和一些用例执行前的初始化操作,使得单元测试易于开展,因为它的易用性,很多同学也拿它来做功能测试和接口测试,只需简单开发 ...

  9. 跟我学PHP-第一篇:如何安装Zend Studio 以及汉化和基本准备工作

    昨天从早上一直弄到晚上10点,可累死我了,网上的资料都是掺次不齐,所以我写一篇系统点的文章来告诉大家怎么做. 1.如果你想进行一套PHP系统的开发,肯定是要有“尚方宝剑”的,这个尚方宝剑就是PHP工具 ...

随机推荐

  1. ASP.NET(C#)--Repeater中生成“序号”列

    需求介绍:在Repeater(Table)中加入“序号”列,从1开始自增,步长为1. 思路:因为“序号”跟Repeater的行号有关,所以要在Repeater的ItemDataBound事件中输出“序 ...

  2. Jquery动画效果--地铁站名指示等效果

    源码参考:源码爱好者--jQuery仿地铁线路指示灯效果,经修改和美化,特此记录一下. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Tra ...

  3. luigi学习5-task详解

    task是代码执行的地方.task通过target互相依赖. 下面是一个典型的task的大纲视图. 一.Task.requires requires方法用来指定本task的依赖的其他task对象,依赖 ...

  4. Spark RDD的依赖解读

    在Spark中, RDD是有依赖关系的,这种依赖关系有两种类型 窄依赖(Narrow Dependency) 宽依赖(Wide Dependency) 以下图说明RDD的窄依赖和宽依赖 窄依赖 窄依赖 ...

  5. 巩固一下C语言中的指针

    今天无意间看到一篇文章<[C语言] 浅谈指针>,对C语言指针的总结很好! 文章地址:http://blog.csdn.net/wbq1480/article/details/5150612 ...

  6. PHP错误处理及异常处理笔记

    给新人总结一下PHP的错误处理. PHP提供了错误处理和日志记录的功能. 这些函数允许你定义自己的错误处理规则,以及修改错误记录的方式. 这样,你就可以根据自己的需要,来更改和加强错误输出信息以满足实 ...

  7. C++求等比数列之和

    题目内容:已知q与n,求等比数列之和:1+q+q2+q3+q4+……+qn. 输入描述:输入数据不多于50对,每对数据含有一个整数n(1<=n<=20).一个小数q(0<q<2 ...

  8. Struts2中的namespace使用

    namespace一般在项目比较复杂的情况下使用较好. 在struts2的项目中,namespace主要在以下环境中常使用: 1. 在配置文件中(struts.xml)以及被它包含的XX.xml文件中 ...

  9. fancybox去除不受待见的水平滚动条

    用fancybox在嵌套某个页面时,有时莫名其妙的会出现的消除不掉的幽灵般水平滚动条,如何去除: github上的解决方案:https://github.com/fancyapps/fancyBox/ ...

  10. 使用WIF实现单点登录Part III —— 正式实战

    我们接下来的demo将包括以下的工程: SiteA —— 基于.net framework 4.5的MVC 4程序,使用WIF 4.5的SDK,第一个RP SiteB —— 基于.net framew ...