免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
我對CPPUNIT的一些理解
我對CPPUNIT的一些理解(一直沒有時(shí)間,忘了很多東西,以后再整理):
  一、測試用例
  1、CPPUnit通常用于接口測試,如果進(jìn)行路徑測試,需要考慮一些特殊問題,因?yàn)榭赡苄枰L問被測類的保護(hù)或者私有成員。在這種情況下,可以考慮使用輔助類,輔助類從被測類派生,并將測試類聲明為友元。
  2、測試類從TestFixture派生,該類聲明了setUp(),tearDown()函數(shù),分別進(jìn)行重載以用來初始化測試和釋放資源
  3、在測試類的頭文件類聲明中使用以下宏進(jìn)行聲明測試套件
  CPPUNIT_TESTSUITE(測試類名)
  CPPUNIT_TEST(測試函數(shù)名1)
  CPPUNIT_TEST(測試函數(shù)名2)
  CPPUNIT_TEST_SUITE_END()
  以上代碼將測試函數(shù)準(zhǔn)備好,測試函數(shù)原型為:void testX()
  4、測試套件注冊使用以下宏
  CPPUNIT_TEST_SUITE_NAMED_REGISTRATION(類名,名字空間)
  CPPUNIT_TEST_SUITE_REGISTRATION(類名)
  以上兩個(gè)宏在測試類的cpp文件開頭添加,第一個(gè)宏將測試類注冊到“名字空間”里,“名字空間”是一個(gè)字符串
  第二個(gè)宏將測試類注冊到缺省名字空間里
  5、cpp的實(shí)現(xiàn),以下例子是一個(gè)測試函數(shù)的實(shí)現(xiàn),完成的是路徑測試,其中CTest_CbackupSource從TestFixture派生
  void CTest_CBackupSource::testMakeSourceName()
  {
  CMyBackupSource backupSource;
  CPPUNIT_ASSERT(backupSource.m_strSourceName == "");
  backupSource.SetSourcePath("C:\\test\\Test.tt");
  CPPUNIT_ASSERT(backupSource.m_strSourceName == "Test.tt");
  backupSource.SetSourcePath("C:\\test\\");
  CPPUNIT_ASSERT(backupSource.m_strSourceName == "");
  backupSource.SetSourcePath("test");
  CPPUNIT_ASSERT(backupSource.m_strSourceName == "test");
  }
  二、運(yùn)行測試用例
  //返回測試工廠對象的引用,缺省參數(shù)為“All Tests”,對應(yīng)于注冊在缺省空間的測試類,在以后測試運(yùn)行時(shí),注冊在缺省空間的測試用例將被運(yùn)行
  CPPUNIT_NS::TestFactoryRegistry ®istry = CPPUNIT_NS::TestFactoryRegistry::getRegistry();
  //添加命名空間后,注冊在該命名空間的測試用例將被運(yùn)行
  registry.addRegistry("CBackupSource");
  // registry.addRegistry("CVersionInfo");
  // registry.addRegistry("CSHFile");
  // 得到測試套件,包括所有選擇的測試空間內(nèi)注冊的測試用例
  CPPUNIT_NS::Test* suite = registry.makeTest();
  CPPUNIT_NS::TextUi::TestRunner runner;
  runner.addTest(suite);
  // 設(shè)置輸出,注意對象被runner釋放
  runner.setOutputter(new CPPUNIT_NS::CompilerOutputter(&runner.result(), std::cerr));
  // 增加監(jiān)聽器,eventManager返回TestResult類的對象,維護(hù)一個(gè)Listener集合,Listener將決定測試過程表現(xiàn),包括日志輸出格式
  CPPUNIT_NS::BriefTestProgressListener progress;
  runner.eventManager().addListener(&progress);
  nRetCode = runner.run();
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
CppUnit入門
測試系列之cserver測試全攻略
開發(fā)和測試工程師寫出來的代碼有高下之分嗎?
“JUnit4.0 in 10 minutes” learning minutes
junit詳解
用cpp做c++單元測試【譯】
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服