您的位置:軟件測(cè)試 > 開源軟件測(cè)試 > 開源單元測(cè)試工具 > cppUnit
如何使用CppUnit做單元測(cè)試
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2013/3/13 15:31:44 ] 推薦標(biāo)簽:

  1.取得Cppunit發(fā)行版本(http://cppunit.sourceforge.net/)我下載的是cppunit-1.10.2

  2.使用INSTALL-WIN32.txt,

  3.查看examples中的例子,觀看其配置。

  Libraries:

  ----------

  All the compiled libraries and DLL can be found in the 'lib' directory.

  Most libraries can be build from src/CppUnitLibraries.dsw workspace.

  lib:

  cppunit.lib : CppUnit static library "Multithreaded DLL"

  cppunitd.lib : CppUnit static library "Debug Multithreaded DLL"

  cppunit_dll.dll : CppUnit dynamic library (DLL) "Multithreaded DLL"

  cppunit_dll.lib : CppUnit dynamic import library "Multithreaded DLL"

  cppunitd_dll.dll : CppUnit dynamic library (DLL) "Debug Multithreaded DLL"

  cppunitd_dll.lib : CppUnit dynamic import library "Debug Multithreaded DLL"

  qttestrunner.dll : QT TestRunner dynamic library (DLL) "Multithreaded DLL"

  qttestrunner.lib : QT TestRunner import library "Multithreaded DLL"

  testrunner.dll : MFC TestRunner dynamic library (DLL) "Multithreaded DLL"

  testrunner.lib : MFC TestRunner import library "Multithreaded DLL"

  testrunnerd.dll : MFC TestRunner dynamic library (DLL) "Debug Multithreaded DLL"

  testrunnerd.lib : MFC TestRunner import library "Debug Multithreaded DLL"

  testrunneru.dll : MFC Unicode TestRunner dynamic library (DLL) "Multithreaded DLL"

  testrunneru.lib : MFC Unicode TestRunner import library "Multithreaded DLL"

  testrunnerud.dll : MFC Unicode TestRunner dynamic library (DLL) "Debug Multithreaded DLL"

  testrunnerud.lib : MFC Unicode TestRunner import library "Debug Multithreaded DLL"

  TestRunnerDSPlugIn.dll : The add-in you register in VC++.

  A. 新建一個(gè)MFC應(yīng)用程序

  B. 在“工具”-選項(xiàng)-目錄

  C. 在工程配置里面選擇RTTI

  Link下加入 Debugcppunitd.lib Debug estrunnerd.lib ,記得把這輛個(gè)文件從cppunit-1.10.2lib拷出來(lái),把相應(yīng)的dll文件也拷到debug目錄下

  D. 在App初始化函數(shù)中App::InitInstance()的開頭加入

  #include

  #include

  在其中加入

  CppUnit::MfcUi::TestRunner runner;

  runner.addTest( CppUnit::TestFactoryRegistry::getRegistry().makeTest() );

  runner.run();

  記得把原來(lái)的窗口注掉,不然調(diào)用的還是原來(lái)的窗口。

  E. 加入要測(cè)的類叫XXX

  我們起這個(gè)類的測(cè)試叫testXXX 類

  #include

  #include

  #include "testXXX .h"

  class testXXX : public CppUnit::TestCase

  {

  CPPUNIT_TEST_SUITE(testXXX );

  CPPUNIT_TEST(testcase1); //這里是我們的testcase的函數(shù)原型名字

  CPPUNIT_TEST(testcase2);

  CPPUNIT_TEST_SUITE_END();

  public:

  void setUp();

  void tearDown();

  protected:

  void testcase1();//聲明我們的測(cè)試函數(shù)

  void testcase2();

  private:

  testXXX *fixture;

  };

  其cpp文件必須要有

  CPPUNIT_TEST_SUITE_REGISTRATION(testXXX);

  然后

  void testXXX::setUp()

  {

  fixture = new testXXX();//當(dāng)然要按照實(shí)際的類構(gòu)造你的測(cè)試對(duì)象了

  }

  void testXXX::tearDown()

  {

  delete fixture;

  fixture = NULL;//析構(gòu)你的測(cè)試對(duì)象

  }

  下面是你的測(cè)試函數(shù)

  void testXXX::testcase1()

  {

  CPPUNIT_ASSERT(condition1);//如果condition1為false激發(fā)這個(gè)assert

  CPPUNIT_ASSERT_MESSAGE(”msg“ , condition2);

  ……

  }

  第二個(gè)類似這樣可以

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