cppunit文檔真少。一個hellpworld程序折騰了好幾個小時才折騰夠。tnnd作者給的幫助那么幾句話。
偶結(jié)合折騰過程,寫一個更詳細點的helloworld。
系統(tǒng):fc4,gclearcase/" target="_blank" >cc4
(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有些項通不過。沒關(guān)系。:P
.o, .a文件已經(jīng)安裝到/usr/local/lib中去了,但頭文件沒安裝到/usr/include中去
(3)copy *.h文件
把cppunit-1.10.2的cppunit目錄復(fù)制到/usr/include下
(4)撰寫mytest.cpp(從cppunit.sourceforge.net上copy下來的)
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) 鏈接靜態(tài)庫。編譯命令:
g++ -L/usr/local/lib/libcppunit.a mytest.cpp -lcppunit -ldl -o mytest
運行:
./mytest
結(jié)果:
Test::testHelloWorldHello, world!
: OK
(b) 鏈接動態(tài)庫。編譯命令:
g++ mytest.cpp -lcppunit -ldl -o mytest
運行時要先設(shè)置環(huán)境變量LD_LIBRARY_PATH到cppunit的安裝目錄,也是/usr/local/lib,命令如下:
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
然后運行:
./mytest
結(jié)果:
Test::testHelloWorldHello, world!
: OK