




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、CppUnit構(gòu)建步驟及實(shí)例演練1、 設(shè)置CppUnit環(huán)境1、 我們把CppUnit解壓,然后打開(kāi)src/目錄下的CppUnitLibraries.dsw文件2、 打開(kāi)文件后,我們不要build和運(yùn)行,應(yīng)執(zhí)行build->batch build,我們只要選擇所有的win32 Debug就行了,如圖1-1總共一起是6項(xiàng)。3、 然后就可以編譯執(zhí)行了,完后,他會(huì)在lib/文件下生成庫(kù)文件,如圖1-2圖 1-1圖 1-24、 設(shè)置頭文件和庫(kù)文件路徑,執(zhí)行Tools->options->Directories,如圖1-3,然后在Show directions for:中選擇文件類(lèi)型(
2、記得三個(gè)都要選擇哦),在directores:里面添加你安裝文件下的include文件(另外兩個(gè)也要對(duì)應(yīng))。點(diǎn)擊確定。然后記得要保存工程(file->save workspace)圖 1-32、 初識(shí)CppUnit測(cè)試環(huán)境1、 進(jìn)入安裝目錄下的example文件夾下,打開(kāi)examples.dsw文件。2、 將CppUnitTestApp工程設(shè)為活動(dòng)工程如圖1-4,然后編譯運(yùn)行,我們可以看到一個(gè)基于GUI方式的單元測(cè)試TestRunner界面(圖1-5)3、 將CppUnitTestMain工程設(shè)置為活動(dòng)工程,編譯運(yùn)行,我們可以看到他是一個(gè)基于文本方式的單元測(cè)試環(huán)境(圖1-6) 圖 1-4
3、圖 1-5圖 1-6三、CppUnitDemoFactorial構(gòu)建步驟(以一個(gè)Factorial函數(shù)為測(cè)試實(shí)例)1、新建一個(gè)基于對(duì)話框的工程CppUnitDemoFactorial.可編譯運(yùn)行。(選擇file->new->Projects->MFC AppWizard(exe),在Project name:里面填上:CppUnitDemoFactorial,點(diǎn)擊OK,然后選擇“基于對(duì)話框(Dialog based),選擇完成)2、 設(shè)置工程屬性:Project->Settings,如圖1-7單擊C+選項(xiàng)卡,在Category:中選擇C+ Language,然后再選中E
4、nable Run-Time Type Information(RTTL);然后在單擊Link選項(xiàng)卡,在Object/library modules:中填入(cppunitd.lib testrunner.lib),最后單擊OK圖 1-73、將Factorial.cpp和Factorial.h添加到工程中(文件下載1、下載2)添加方法:Projiect->Add To Project->files,選中你的文件(記得要把你的文件放在你的工程文件夾下);然后編譯運(yùn)行,會(huì)出現(xiàn)一下錯(cuò)誤代碼:fatal error C1010: unexpected end of file while l
5、ooking for precompiled header directive解決方法:打開(kāi)圖1-7,單擊C+選項(xiàng)卡,在Category:中選擇Precompiled Headers,然后選中Not Using Precompiled Headers,然后保存,再build就不會(huì)出錯(cuò)了。4、新建測(cè)試類(lèi):CFactorialTestCase,派生于CppUnit:TestCase操作步驟:Insert->New Class,會(huì)彈出一下對(duì)話框,并根據(jù)下圖填寫(xiě)4、為CFactorialTestCase類(lèi)添加factorialTest成員函數(shù):右擊此類(lèi)->Add member functi
6、on 彈出對(duì)話框,按下圖填寫(xiě):5、 給成員函數(shù)添加函數(shù)體,語(yǔ)句如下:CPPUNIT_ASSERT_EQUAL(0,Factorial(-5);/這是測(cè)試語(yǔ)句CPPUNIT_ASSERT_EQUAL(1,Factorial(0); CPPUNIT_ASSERT_EQUAL(6,Factorial(3);解釋?zhuān)豪ㄌ?hào)中0、1、6是期望值,F(xiàn)actorial(x)是對(duì)應(yīng)測(cè)試的函數(shù)6、 在CFactorialTestCase類(lèi)的定義文件中(FactorialTestCase.h),添加一下代碼#include <cppunit/TestCase.h>#include <CppUnit/
7、extensions/HelperMacros.h>#include <Factorial.h>#if _MSC_VER > 1000#pragma once#endif / _MSC_VER > 1000class CFactorialTestCase : public CppUnit:TestCase CPPUNIT_TEST_SUITE(CFactorialTestCase);CPPUNIT_TEST(factorialTest);CPPUNIT_TEST_SUITE_END();public:void FactorialTest();CFactorialT
8、estCase();virtual CFactorialTestCase();10、 在FactorialTestCase.cpp中添加一下代碼:/ Construction/Destruction/CPPUNIT_TEST_SUITE_REGISTRATION(CFactorialTestCase);CFactorialTestCase:CFactorialTestCase()11、 在CppUnitDemoFactorial.cpp中添加一下代碼:在文件的最開(kāi)頭添加一下頭文件包涵語(yǔ)句:#include <cppunit/ui/mfc/TestRunner.h>#include
9、<cppunit/extensions/TestFactoryRegistry.h>在InitInstance()函數(shù)中添加一下代碼,并把其他所有代碼注釋掉BOOL CCppUnitDemoFactorialApp:InitInstance()AfxEnableControlContainer();CppUnit:MfcUi:TestTunner runner;runner.addTest(CppUnit:TestFactoryRegistry:getRegistry().makeTest();runner.run();return TRUE;12、 按道理說(shuō)現(xiàn)在可以運(yùn)行了,不過(guò),呵呵大家別急哦,如果
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 室內(nèi)設(shè)計(jì)量房標(biāo)準(zhǔn)流程
- 醫(yī)護(hù)聯(lián)動(dòng):溝通與協(xié)作
- Acid-PEG4-NHS-ester-生命科學(xué)試劑-MCE
- 2025年人工智能法律政策圖景研究報(bào)告
- 新能源汽車(chē)充電設(shè)施布局優(yōu)化與2025年運(yùn)營(yíng)效率提升風(fēng)險(xiǎn)控制策略
- 智能家居系統(tǒng)互聯(lián)互通標(biāo)準(zhǔn)下的智能家居行業(yè)市場(chǎng)細(xì)分及競(jìng)爭(zhēng)格局報(bào)告
- 2025年醫(yī)藥行業(yè)CRO模式下的臨床試驗(yàn)數(shù)據(jù)監(jiān)查員培訓(xùn)與認(rèn)證報(bào)告
- 紡織服裝制造業(yè)智能化生產(chǎn)智能化生產(chǎn)設(shè)備技術(shù)升級(jí)項(xiàng)目報(bào)告
- 教育游戲化在虛擬現(xiàn)實(shí)教育中的應(yīng)用與教學(xué)創(chuàng)新報(bào)告
- 2025年土壤污染修復(fù)技術(shù)產(chǎn)業(yè)現(xiàn)狀與發(fā)展趨勢(shì)研究報(bào)告
- 模擬電子技術(shù)(山東聯(lián)盟-山東建筑大學(xué))智慧樹(shù)知到期末考試答案章節(jié)答案2024年山東建筑大學(xué)
- 教材教輔資料進(jìn)校園審核管理制度
- 血液凈化護(hù)士進(jìn)修匯報(bào)
- 實(shí)現(xiàn)馬克思主義中國(guó)化時(shí)代化新的飛躍
- 2024年廣州天河區(qū)六年級(jí)語(yǔ)文小升初摸底考試含答案
- 人工智能中的因果驅(qū)動(dòng)智慧樹(shù)知到期末考試答案2024年
- 2024年合肥市公安局警務(wù)輔助人員招聘筆試參考題庫(kù)附帶答案詳解
- 2024年中國(guó)建筑西南勘察設(shè)計(jì)研究院有限公司招聘筆試參考題庫(kù)含答案解析
- DG-TJ08-2433A-2023 外墻保溫一體化系統(tǒng)應(yīng)用技術(shù)標(biāo)準(zhǔn)(預(yù)制混凝土反打保溫外墻)
- 教師法制教育培訓(xùn)課件
- 眾包物流模式下的資源整合與分配
評(píng)論
0/150
提交評(píng)論