在刚学习单元测试章节的时候,尝试着使用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)打开TestRunnerUserInterfaceMsDevCallerListCtrl.cpp,将version由7.0改为8.0;
5)在VS中选择生成->批生成,全选后点击生成;
等待编译结束,会有一些错误,只要最后进入lib文件夹下,出现cppunitd.lib即可。
至此,cppunit的安装编译成功。
若要正确的使用cppunit,需在新建项目时将include,lib文件夹包含进项目,具体如下:
至此,测试项目的基本环境的搭建算完成。
通过对老师给的若干例子进行测试,逐渐了解单元测试的框架。
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
上述代码仅表示测试的框架结构,还有很多地方需要修改,明天继续学习测试方面的知识。
原文链接: https://www.cnblogs.com/wang-kai/p/5103742.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/226861
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!