您的位置:軟件測(cè)試 > 開(kāi)源軟件測(cè)試 > 開(kāi)源單元測(cè)試工具 > cppUnit
cppunit helloworld詳盡篇
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2012/11/29 15:08:08 ] 推薦標(biāo)簽:

cppunit文檔真少。一個(gè)hellpworld程序折騰了好幾個(gè)小時(shí)才折騰夠。tnnd作者給的幫助那么幾句話。

偶結(jié)合折騰過(guò)程,寫一個(gè)更詳細(xì)點(diǎn)的helloworld。

系統(tǒng):fc4,gclearcase/" target="_blank" >cc4

(1)下載
    到cppunit.sourceforge.net上下載源代碼。我的是cppunit-1.10.2.tar.gz。copy到/usr/src下。運(yùn)行:
        tar -xf cppunit-1.10.2.tar.gz
    解壓縮。
(2)安裝
    進(jìn)入cppunit-1.10.2目錄下。運(yùn)行:
        ./configure; make; make check; make install
    安裝。make check有些項(xiàng)通不過(guò)。沒(méi)關(guān)系。:P
    .o, .a文件已經(jīng)安裝到/usr/local/lib中去了,但頭文件沒(méi)安裝到/usr/include中去
(3)copy *.h文件
    把cppunit-1.10.2的cppunit目錄復(fù)制到/usr/include下
(4)撰寫mytest.cpp(從cppunit.sourceforge.net上copy下來(lái)的)
 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)編譯,運(yùn)行
        有兩種方法
        (a) 鏈接靜態(tài)庫(kù)。編譯命令:
       g++ -L/usr/local/lib/libcppunit.a mytest.cpp -lcppunit -ldl -o mytest
       運(yùn)行:
       ./mytest
       結(jié)果:
        Test::testHelloWorldHello, world!
         : OK
         (b) 鏈接動(dòng)態(tài)庫(kù)。編譯命令:
       g++ mytest.cpp -lcppunit -ldl -o mytest
       運(yùn)行時(shí)要先設(shè)置環(huán)境變量LD_LIBRARY_PATH到cppunit的安裝目錄,也是/usr/local/lib,命令如下:
       export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
       然后運(yùn)行:
       ./mytest
       結(jié)果:
        Test::testHelloWorldHello, world!
         : OK

軟件測(cè)試工具 | 聯(lián)系我們 | 投訴建議 | 誠(chéng)聘英才 | 申請(qǐng)使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd