WEB开发网
开发学院软件开发VC 如何使用CppUnit进行单元测试 阅读

如何使用CppUnit进行单元测试

 2007-06-14 21:33:18 来源:WEB开发网   
核心提示: // PlusTestCase.hclass CPlusTestCase : public CppUnit::TestCase{CPPUNIT_TEST_SUITE(CPlusTestCase);CPPUNIT_TEST(testAdd);CPPUNIT_TEST_SUITE_END();
// PlusTestCase.h
class CPlusTestCase : public CppUnit::TestCase
{
  CPPUNIT_TEST_SUITE(CPlusTestCase);
  CPPUNIT_TEST(testAdd);
  CPPUNIT_TEST_SUITE_END();
public:
  CPlusTestCase ();
  virtual ~ CPlusTestCase ();
  void testAdd();
  static std::string GetSuiteName();
};
  // PlusTestCase.cpp
  std::string CPlusTestCase::GetSuiteName()
  {
      return " CPlus ";
  }
记得要在PlusTestCase.h中包含 #include <string>

然后在 PlusTestCase.cpp注册我们的suite.CPPUNIT_TEST_SUITE_NAMED_REGISTRATION(CPlusTestCase, CPlusTestCase::GetSuiteName());

它将CPlusTestCase这个TestSuite注册到一个指定的TestFactory工厂中。

接下来我们写一个注册函数static CppUnit::Test* GetSuite(), 使其在运行期生成一个Test.// PlusTestCase.h
class CPlusTestCase : public CppUnit::TestCase
{
  CPPUNIT_TEST_SUITE(CPlusTestCase);
  CPPUNIT_TEST(testAdd);
  CPPUNIT_TEST_SUITE_END();
public:
  CPlusTestCase ();
  virtual ~ CPlusTestCase ();
  void testAdd();
  static std::string GetSuiteName();
  static CppUnit::Test* GetSuite();
};
  // PlusTestCase.cpp
  CppUnit::Test* CPlusTestCase::GetSuite()
  {
      CppUnit::TestFactoryRegistry& reg =
         CppUnit::TestFactoryRegistry::getRegistry (CPlusTestCase::GetSuiteName());
         return reg.makeTest();
   }
记住在PlusTestCase.h中包含头文件:#include <cppunit/extensions/TestFactoryRegistry.h>最后, 我们为单元测试建立一个UI测试界面.

由于我们希望这个Project运行后显示的是GUI界面,所以我们需要在App的 InitInstance ()中屏蔽掉原有的对话框,代之以CppUnit的GUI。

上一页  4 5 6 7 8 9 10  下一页

Tags:如何 使用 CppUnit

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接