cppunit測試工具

前段時間用過CPPunit,但都是直接拿來用的,今天自己裝了下,測試通過,不過也花費了很多時間。。

1、下載cppunit,可以從sourceforge上找

2、解壓 tar。。。

3、安裝 ./configure   make   make install

4、配置:

將cppunit-version目錄下include目錄的cppunit目錄cp到/usr/include下

5、配置鏈接庫:

修改/etc/ld.so.conf文件,在最後加入一行: /usr/local/lib

修改後使用ldconfig,從新加載conf文件

然後利用ldconfig -v | grep cppunit 查看是否有libcppunit庫,有的話說明加載正常

6、利用cppunit進行測試:

 

testApp.cpp

#include <iostream>
 
#include <cppunit/TestRunner.h>
#include <cppunit/TestResult.h>
#include <cppunit/TestResultCollector.h>
#include <cppunit/extensions/HelperMacros.h>
#include <cppunit/BriefTestProgressListener.h>
#include <cppunit/extensions/TestFactoryRegistry.h>
 
 
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;
 }
7、編譯:可以用靜態庫和動態庫來編譯:
靜態庫:
g++ test.cpp -L/usr/local/lib/libcppunit.a -lcppunit -ldl -o test
動態庫:
g++ test.cpp -lcppunit -ldl -o test
8、運行:
./test
可以看到輸出,有一個ok就表示成功了
上午折騰了很久,剛開始沒有加#include <cppunit/extensions/HelperMacros.h>這個頭文件,結果一直找不到CPPUNIT_TEST_SUITE()和另外兩個宏的定義。。。這三個宏是在該文件中定義的
發佈了71 篇原創文章 · 獲贊 11 · 訪問量 40萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章