亚洲好骚综合-亚洲黄色录像-亚洲黄色网址-亚洲黄色网址大全-99久久99久久-99久久99久久精品国产

您的位置:軟件測試 > 開源軟件測試 > 開源單元測試工具 > cppUnit
如何使用CppUnit進行單元測試
作者:網絡轉載 發布時間:[ 2013/12/23 11:39:41 ] 推薦標簽:

四、下面是完整的程序清單

// PlusTestCase.h
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include <string>
#include <cppunit/TestCase.h>
#include <CppUnit/extensions/HelperMacros.h>
#include <cppunit/extensions/TestFactoryRegistry.h>
#include <cppunit/TestAssert.h>
class CPlusTestCase : public CppUnit::TestCase 
{
 //通過這幾個宏,我們把CPlusTestCase和testAdd注冊到了測試列表當中.
 CPPUNIT_TEST_SUITE(CPlusTestCase);  //聲明一個測試包
    CPPUNIT_TEST(testAdd);     //聲明一個測試用例
    CPPUNIT_TEST_SUITE_END(); 
public:
 CPlusTestCase();
 virtual ~CPlusTestCase();
 void testAdd(); //測試方法
 static std::string GetSuiteName();
 //寫一個注冊函數, 使其在運行期生成一個Test
 static CppUnit::Test* GetSuite();
};
// PlusTestCase.cpp
#include "stdafx.h"
#include "UnitTest.h"
#include "PlusTestCase.h"
#include "plus.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//注冊一個測試suite到一個指定的TestFactory工廠中
CPPUNIT_TEST_SUITE_NAMED_REGISTRATION(CPlusTestCase, CPlusTestCase::GetSuiteName());
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CPlusTestCase::CPlusTestCase()
{
}
CPlusTestCase::~CPlusTestCase()
{
}
void CPlusTestCase::testAdd()
{
 CPlus plus;
 int nResult = plus.Add(10, 20); //執行Add操作
 CPPUNIT_ASSERT_EQUAL(30, nResult); //檢查結果是否等于30 
}
std::string CPlusTestCase::GetSuiteName()
{
 return "CPlus";
}
/*
 * 注意:CPlusTestCase::GetSuite()返回一個指向CppUnit::Test的指針.
 *  這個指針是整個測試的起點。
 *  CppUnit::TestFactoryRegistry::getRegistry()根據TestSuite的名字返回TestFactoryRegistry工
 *  然后調用工廠里的makeTest()對TestSuite進行組裝,將建立起一個樹狀的測試結構。
 */
CppUnit::Test* CPlusTestCase::GetSuite()
{
 CppUnit::TestFactoryRegistry& reg = CppUnit::TestFactoryRegistry::getRegistry(CPlusTestCase::GetSuiteName());
 return reg.makeTest();
}
// UnitTest.cpp
#include "stdafx.h"
#include "UnitTest.h"
#include <cppunit/ui/mfc/TestRunner.h>
#include "PlusTestCase.h"

/////////////////////////////////////////////////////////////////////////////
// CUnitTestApp initialization
BOOL CUnitTestApp::InitInstance()
{
 …
 CppUnit::MfcUi::TestRunner runner;
 runner.addTest(CPlusTestCase::GetSuite()); //添加測試 runner.addTest(CMinusTestCase::GetSuite());
 runner.run(); //show UI
/* CUnitTestDlg dlg;
 m_pMainWnd = &dlg;
 int nResponse = dlg.DoModal();
 if (nResponse == IDOK)
 {
  // TODO: Place code here to handle when the dialog is
  //  dismissed with OK
 }
    else if (nResponse == IDCANCEL)
 {
  // TODO: Place code here to handle when the dialog is
  //  dismissed with Cancel
 }
*/
 return FALSE;
}

上一頁12345下一頁
軟件測試工具 | 聯系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網站地圖
滬ICP備07036474 2003-2017 版權所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd
主站蜘蛛池模板: 天天色天天操天天 | 成人在线一区二区三区 | 欧美成人精品手机在线观看 | 妞干网免费视频 | 深夜福利日韩 | 我想看一级毛片免费的 | 国产精品一区二区三区久久 | 免费在线视频成人 | 亚洲天天做日日做天天看2018 | 午夜一级毛片免费视频 | 日韩中文字幕在线观看视频 | 亚欧洲精品在线视频免费观看 | 黄色一级大片视频 | 欧美在线a | 在线片视频网站 | 涩涩视频在线观看入口 | 一级毛片看真人在线视频 | 日本老年人精品久久中文字幕 | 亚洲一区二区三区四区在线 | 国产亚洲青色国产 | 免费看一级毛片 | 欧美大片在线观看成人 | 欧美一级在线全免费 | 波多野结衣一区二区三区四区 | 日本黄色一区 | 成人免费看吃奶视频网站 | 日韩高清特级特黄毛片 | 欧美成人一区二区三区在线视频 | 涩涩动漫网站 | 亚洲天堂久久 | 日日夜夜爽 | 日韩精品视频福利资源站 | 国产区亚洲区 | 中文字幕免费在线观看 | 男女下面一进一出的视频免费 | 在线观看a网站 | 亚洲天堂在线播放 | 成人欧美视频在线观看 | 美日韩视频 | 中文字幕精品视频在线观 | 九草在线免费观看 |