cppunit helloworld详尽篇

王朝other·作者佚名  2006-03-04
窄屏简体版  字體: |||超大  

cppunit文档真少。一个hellpworld程序折腾了好几个小时才折腾够。tnnd作者给的帮助就那么几句话。

偶就结合折腾过程,写一个更详细点的helloworld。

系统:fc4,gcc4

(1)下载

到cppunit.sourceforge.net上下载源代码。我的是cppunit-1.10.2.tar.gz。copy到/usr/src下。运行:

tar -xf cppunit-1.10.2.tar.gz

解压缩。

(2)安装

进入cppunit-1.10.2目录下。运行:

./configure; make; make check; make install

安装。make check有些项通不过。没关系。:P

.o, .a文件已经安装到/usr/local/lib中去了,但头文件没安装到/usr/include中去

(3)copy *.h文件

把cppunit-1.10.2的cppunit目录复制到/usr/include下

(4)撰写mytest.cpp(从cppunit.sourceforge.net上copy下来的)

Code highlighting produced by Actipro CodeHighlighter (freeware)

http://www.CodeHighlighter.com/

-- 1 #include <iostream>

2

3 #include <cppunit/TestRunner.h>

4 #include <cppunit/TestResult.h>

5 #include <cppunit/TestResultCollector.h>

6 #include <cppunit/extensions/HelperMacros.h>

7 #include <cppunit/

BriefTestProgressListener.h>

8 #include <cppunit/extensions/TestFactoryRegistry.h>

9

10

11 class Test : public CPPUNIT_NS::TestCase

12 {

13 CPPUNIT_TEST_SUITE(Test);

14 CPPUNIT_TEST(testHelloWorld);

15 CPPUNIT_TEST_SUITE_END();

16

17 public:

18 void setUp(void) {}

19 void tearDown(void) {}

20

21 protected:

22 void testHelloWorld(void) { std::cout << "Hello, world!" << std::endl; }

23 };

24

25 CPPUNIT_TEST_SUITE_REGISTRATION(Test);

26

27 int main( int argc, char **argv )

28 {

29 // Create the event manager and test controller

30 CPPUNIT_NS::TestResult controller;

31

32 // Add a listener that colllects test result

33 CPPUNIT_NS::TestResultCollector result;

34 controller.addListener( &result );

35

36 // Add a listener that print dots as test run.

37 CPPUNIT_NS::BriefTestProgressListener progress;

38 controller.addListener( &progress );

39

40 // Add the top suite to the test runner

41 CPPUNIT_NS::TestRunner runner;

42 runner.addTest( CPPUNIT_NS::TestFactoryRegistry::getRegistry().makeTest() );

43 runner.run( controller );

44

45 return result.wasSuccessful() ? 0 : 1;

46 }

47

48

(5)编译,运行

有两种方法

(a) 链接静态库。编译命令:

g++ -L/usr/local/lib/libcppunit.a mytest.cpp -lcppunit -ldl -o mytest

运行:

./mytest

结果:

Test::testHelloWorldHello, world!

: OK

(b) 链接动态库。编译命令:

g++ mytest.cpp -lcppunit -ldl -o mytest

运行时要先设置环境变量LD_LIBRARY_PATH到cppunit的安装目录,也就是/usr/local/lib,命令如下:

export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH

然后运行:

./mytest

结果:

Test::testHelloWorldHello, world!

: OK

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航