亚洲好骚综合-亚洲黄色录像-亚洲黄色网址-亚洲黄色网址大全-99久久99久久-99久久99久久精品国产

您的位置:軟件測試 > 開源軟件測試 > 開源單元測試工具 > cppUnit
Linux下的CppUnit 的HelloWorld手記
作者:網絡轉載 發布時間:[ 2013/3/5 15:33:21 ] 推薦標簽:

操作系統系統:Ubuntu6,g++

軟件版本:cppunit-1.10.2.tar.gz

 

(1)獲得源碼:
    到cppunit.sourceforge.net上下載源代碼。將其復制到到linux下或者是直接使用wget下載到linux下。


(2)解壓縮:

使用以下命令即可解壓縮
        tar -zxvf cppunit-1.10.2.tar.gz


(3)編譯安裝
    cd進cppunit-1.10.2目錄下。
        ./configure

make

make install

make的編譯的文件都在src/cppunit/.libs。

make install只是把鏈接庫文件復制到/usr/local/lib,其他的似乎什么都沒有做。


(4)復制頭文件

make install沒有把頭文件安裝到/usr/include中去,此時還需要手工去復制,只要把include下面的cppunit目錄復制到/usr/include下面可以了,命令很簡單,不寫了。


(5)配置鏈接庫路徑

    這個時候,看起來似乎已經安裝配置成功了,其實不然,在Ubutu、FC(已知的)動態鏈接庫的配置文件里面并沒有寫入/usr/local/lib的路徑,雖然可以編譯過,但是你卻發現會運行不了,會出現如是的錯誤:
./mytest: error while loading shared libraries: libcppunit-1.10.so.2: cannot open shared object file: No such file or directory

    真是糟糕,此時你還需要配置一下鏈接庫的路徑,鏈接庫配置文件為/etc/ld.so.conf,以下為修改辦法:

    vi /etc/ld.so.conf

在新起一行里面加入:

/usr/local/lib

然后再用ldconfig命令重新裝載一下配置文件可以了:

ldconfig

OK,此時你已經可以正常的編譯并使用了^__^

 

(6)編寫第一個HelloWorld

撰寫mytest.cpp(從cppunit.sourceforge.net上copy下來的),代碼如下:

 

#include

#include
#include
#include
#include
#include
#include


class Test : public CPPUNIT_NS::TestCase
{
    CPPUNIT_TEST_SUITE(Test);
    CPPUNIT_TEST(testHelloWorld);
    CPPUNIT_TEST_SUITE_END();

    public:
    void setUp(void) {}
    void tearDown(void) {}

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

CPPUNIT_TEST_SUITE_REGISTRATION(Test);

int main( int argc, char **argv )
{
    // Create the event manager and test controller
    CPPUNIT_NS::TestResult controller;

    // Add a listener that colllects test result
    CPPUNIT_NS::TestResultCollector result;
    controller.addListener( &result );      

    // Add a listener that print dots as test run.
    CPPUNIT_NS::BriefTestProgressListener progress;
    controller.addListener( &progress );    

    // Add the top suite to the test runner
    CPPUNIT_NS::TestRunner runner;
    runner.addTest( CPPUNIT_NS::TestFactoryRegistry::getRegistry().makeTest() );
    runner.run( controller );

    return result.wasSuccessful() ? 0 : 1;
}
將之保存為mytest.cpp。

(7)編譯我們的HelloWorld
你可以鏈接靜態庫也可以鏈接靜態庫。
(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

運行:
./mytest
結果:
Test::testHelloWorldHello, world!
: OK

      如果你沒有執行步驟(5),那么你也可以在每次運行之前設置下臨時的環境變量LD_LIBRARY_PATH命令如下:
       export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH

補遺:
非Root用戶是不能夠往/usr/local/lib/和/usr/include里面寫東西的,這個時候很煩人了。你只能夠把庫和頭文件放到home目錄里面。
非Root用戶的安裝需要作如下修改:
步驟三需要修改configure,這里 -prefix=/home/me的意思是把安裝的根目錄設置為/home/me(我的私人目錄, 我不是管理員所以只好安裝到自己的“家“了),這樣make install的時候,庫文件會復制到此目錄下的lib目錄里。
./configure -prefix=/home/me

Ok,把頭文件也放置到/home/me里面吧。這樣,情況是:頭文件存儲在/home/me/include,庫文件存儲在/home/me/lib。
編譯的時候命令會像如下所示:
g++ -g -L/home/me/lib -lcppunit -ldl -I/home/me/include Main.C
因為是非root用戶,所以步驟(5)是無法執行的了,想要能夠運行測試程序只能夠執行類型類似命令才能夠運行了:
export LD_LIBRARY_PATH=/home/me/lib:$LD_LIBRARY_PATH

(注:/home/me里面的me代表的是你的用戶名,在Linux下面,除了root的用戶目錄是在/root下,其他用戶都是在/home下的,目錄名為用戶名。當你登錄當前用戶之后,在此目錄下。)

單元測試,終它是要運用到工程中去的,如果還那樣用g++命令直接編譯,肯定是行不通的,所以還必須要寫一個Makefile才可以。

軟件測試工具 | 聯系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網站地圖
滬ICP備07036474 2003-2017 版權所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd
主站蜘蛛池模板: 亚洲第一网站免费视频 | 外国成人xxx在线视频 | 欧美一级免费在线观看 | 精品国产免费人成高清 | 亚洲精品线在线观看 | 毛片大全免费看 | 亚洲经典在线中文字幕 | 亚洲精彩视频在线观看 | 一区二区三区四区国产 | 欧美日韩一区二区三区高清不卡 | 日韩免费视频在线观看 | 巨尻在线播放 | 九九99九九精彩 | 成人午夜免费视频 | 九九精品免费 | 欧美另类成人 | 精品日韩欧美一区二区三区 | 国产高清在线精品一区在线 | 亚洲欧洲日产国码二区首页 | 久久综合狠狠综合久久 | 操天天操| 在线国产网站 | 欧美在线免费播放 | 天天射日日干 | 国产精品高清免费网站 | 成人国产精品999视频 | 青娱乐伊人 | 日韩在线观看你懂的 | 一国产大片在线观看 | 国产第一浮力影院新路线 | 国产一级特黄aa大片软件 | 免费观看一级一片 | 18videosex性vr日 | 日韩久久精品 | 欧美成人精品免费播放 | 欧美日韩国产人成在线观看 | 亚洲国产精品一区二区久 | 精品欧美一区二区在线看片 | 日韩免费一区二区 | 97精品伊人久久久大香线蕉 | 1717she精品国产真正免费 |