cppunit helloworld详尽篇
生活随笔
收集整理的這篇文章主要介紹了
cppunit helloworld详尽篇
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
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下來的)
?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!
偶就結合折騰過程,寫一個更詳細點的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下來的)
?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
本文轉自xiaotie博客園博客,原文鏈接http://www.cnblogs.com/xiaotie/archive/2006/01/05/311149.html如需轉載請自行聯系原作者
xiaotie?集異璧實驗室(GEBLAB)
總結
以上是生活随笔為你收集整理的cppunit helloworld详尽篇的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 走进单元测试:测试需要从哪些方面着手
- 下一篇: 从阿里孵化钉钉谈起,大公司内部创业到底有