亚洲好骚综合-亚洲黄色录像-亚洲黄色网址-亚洲黄色网址大全-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
主站蜘蛛池模板: 亚洲男女免费视频 | 九月丁香激情综合婷婷玉立 | 成人在线影片 | 在线中文字幕网 | 国产成人视屏 | 人人擦| 亚洲三级免费 | 香蕉草草久在视频在线播放 | 日本三级欧美三级人妇英文 | 欧美高清一区二区三区欧美 | 女同志videos最新另 | 成人禁在线观看 | 亚洲一区在线观看视频 | 成人福利免费视频 | 欧美色图亚洲 | 羞羞网站免费观看 | 在线播放一区二区精品产 | 国产丝袜护土调教在线视频 | 亚洲黄色第一页 | 涩涩成人网 | 国产日本欧美亚洲精品视 | 九九亚洲视频 | 日本中文字幕免费 | 免费a级大片 | 国产精品每日更新在线观看 | 成人免费无毒在线观看网站 | 成人无遮挡免费网站视频在线观看 | 在线免费观看黄色大片 | 羞羞视频成人 | 爽天天天天天天天 | 日韩欧美一区二区在线观看 | 一级毛片aa高清免费观看 | 成人播放 | 欧美日韩视频一区二区在线观看 | 免费观看视频成人国产 | 亚洲五月激情 | 亚洲成人免费观看 | 日本妇丰满乱xxxxⅹ视频 | 久久午夜羞羞影院免费观看 | 男女无遮挡毛片视频播放 | 亚洲成熟中老妇女 |