• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    軟件測試之C++的單元測試

    發布: 2009-4-13 10:34 | 作者: 不詳 | 來源: 測試時代采編 | 查看: 146次 | 進入軟件測試論壇討論

    領測軟件測試網

     四、你的第一個TDD example

      一切準備就緒,現在我們可以來看看怎樣添加測試代碼了。前面我們提到過,CppUnit最小的測試單位是TestCase,多個相關TestCase組成一個TestSuite。要添加測試代碼最簡單的方法就是利用CppUnit為我們提供的幾個宏來進行(當然還有其他的手工加入方法,但均是殊途同歸,大家可以查閱CppUnit頭文件中的演示代碼)。這幾個宏是:

      CPPUNIT_TEST_SUITE() 開始創建一個TestSuite
      CPPUNIT_TEST() 添加TestCase
      CPPUNIT_TEST_SUITE_END() 結束創建TestSuite
      CPPUNIT_TEST_SUITE_NAMED_REGISTRATION() 添加一個TestSuite到一個指定的TestFactoryRegistry工廠

      感興趣的朋友可以在HelperMacros.h看看這幾個宏的聲明,本文在此不做詳述。

      1、一個實現兩個整數相加的類

      假定我們要實現一個類,類名暫且取做CPlus,它的功能主要是實現兩個數相加(多簡單的一個類啊,這也要測試嗎?不要緊,我們只是了解怎樣加入測試代碼來測試它就行了,所以越簡單越好)。 假定這個類要實現的相加的方法是:

      int Add(int nNum1, int nNum2);

      Ok,那我們先來寫測試這個方法的代碼吧。TDD 可是先寫測試代碼,后寫產品代碼(CPlus)的哦!先寫的測試代碼往往是不能運行或編譯的,我們的目標是在寫好測試代碼后寫產品代碼,使之編譯通過,然后再進行重構。這就是Kent Beck說的“red/green/refactor”( 還記得基于GUI的測試環境的狀態條嗎?)。所以,上面的類名和方法應該還只是在你的心里,還只是你的idea而已。

      2、在VC中為測試代碼建立一個 Project

      通常,測試代碼和被測試對象是處于不同的Project中的。這樣就不會讓你的產品代碼被測試代碼所“污染 ”。 在本例中,我們將建立一個基于GUI 方式的測試環境。在VC中,我們建立一個基于對話框的Project。別忘了link正確的lib,本例中我們使用靜態的CppUnit lib。由于我們希望這個Project運行后顯示的是圖2這樣的界面,所以我們需要在App的 Instance()中屏蔽掉原有的對話框,代之以CppUnit的GUI。

      CppUnit::MfcUi::TestRunner runner;
      runner.addTest(PlusTest::suite()); //添加測試
      runner.run(); //show UI
      /*
      CCPlusTestDlg 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
    }
    */

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    33/3<123

    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>