如何使用CppUnit做单元测试

Iola ·
更新时间:2024-09-21
· 693 次阅读

  1.取得Cppunit发行版本(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. 新建一个MFC应用程序

  B. 在“工具”-选项-目录

  C. 在工程配置里面选择RTTI

  Link下加入 Debugcppunitd.lib Debug estrunnerd.lib ,记得把这辆个文件从cppunit-1.10.2lib拷出来,把相应的dll文件也拷到debug目录下

  D. 在App初始化函数中App::InitInstance()的开头加入

  #include

  #include

  在其中加入

  CppUnit::MfcUi::TestRunner runner;

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

  runner.run();

  记得把原来的窗口注掉,不然调用的还是原来的窗口。

  E. 加入要测的类叫XXX

  我们起这个类的测试叫testXXX 类

  #include

  #include

  #include "testXXX .h"

  class testXXX : public CppUnit::TestCase

  {

  CPPUNIT_TEST_SUITE(testXXX );

  CPPUNIT_TEST(testcase1); //这里是我们的testcase的函数原型名字

  CPPUNIT_TEST(testcase2);

  CPPUNIT_TEST_SUITE_END();

  public:

  void setUp();

  void tearDown();

  protected:

  void testcase1();//声明我们的测试函数

  void testcase2();

  private:

  testXXX *fixture;

  };

  其cpp文件必须要有

  CPPUNIT_TEST_SUITE_REGISTRATION(testXXX);

  然后

  void testXXX::setUp()

  {

  fixture = new testXXX();//当然要按照实际的类构造你的测试对象了

  }

  void testXXX::tearDown()

  {

  delete fixture;

  fixture = NULL;//析构你的测试对象

  }

  下面是你的测试函数

  void testXXX::testcase1()

  {

  CPPUNIT_ASSERT(condition1);//如果condition1为false激发这个assert

  CPPUNIT_ASSERT_MESSAGE(”msg“ , condition2);

  ……

  }

  第二个类似这样可以



单元 cppunit 单元测试 测试

需要 登录 后方可回复, 如果你还没有账号请 注册新账号
相关文章