单元测试篇----cppUnit的安装与使用

  在刚学习单元测试章节的时候,尝试着使用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,解压

单元测试篇----cppUnit的安装与使用_第1张图片

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

单元测试篇----cppUnit的安装与使用_第2张图片

单元测试篇----cppUnit的安装与使用_第3张图片

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

单元测试篇----cppUnit的安装与使用_第4张图片

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

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

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

单元测试篇----cppUnit的安装与使用_第5张图片

 

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

 

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

单元测试篇----cppUnit的安装与使用_第6张图片

单元测试篇----cppUnit的安装与使用_第7张图片

 

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

 

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

 

 1 #include <cppunit/extensions/HelperMacros.h>
 2 
 3 class testRobotClass :public CppUnit::TextFixture
 4 {
 5     CPPUNIT_TEST_SUITE(testRobotClass);
 6     CPPUNIT_TEST(testRobotClass1);   //可有多个测试用例;
 7     CPPUNIT_TEST(testRobotClass2);
 8     CPPUNIT_TEST_SUITE_END(testRobotClass);
 9 public:
10     void setUp();
11     void tearDown();
12     testRobotClass();
13     ~testRobotClass();
14     void testRobotClass1();
15     void testRobotClass2();
16 };
test_RobotClass.h
 1 #include "test_RobotClass.h"
 2 #include "RobotClass.h"
 3 
 4 CPPUNIT_TEST_SUITE_NAMED_REGISTRATION(testRobotClass, "allTest");
 5 
 6 testRobotClass::testRobotClass()
 7 {
 8 
 9 };
10 testRobotClass::~testRobotClass()
11 {
12 
13 };
14 void testRobotClass::setUp()
15 {
16     std::cout << "begin test" << std::endl;
17 };
18 void testRobotClass::tearDown()
19 {
20     std::cout << "finish test" << std::endl;
21 };
22 void testRobotClass::testRobotClass1()
23 {
24     .....
25 };
26 void testRobotClass::testRobotClass2()
27 {
28 
29     ...
30 };
test_RobotClass.c
 1 #include <cppunit/extensions/TestFactoryRegistry.h>
 2 #include <cppunit/ui/text/TestRunner.h>
 3 
 4 int main()
 5 {
 6     CppUnit::Test *suite = CppUnit::TestFactoryRegistry::getRegistry().makeTest();
 7     CppUnit::TextUi::TestRunner runner;
 8     runner.addTest(suite);
 9     return 0;
10 }
testmain.cpp

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

你可能感兴趣的:(单元测试篇----cppUnit的安装与使用)