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

您的位置:軟件測(cè)試 > 開(kāi)源軟件測(cè)試 > 開(kāi)源單元測(cè)試工具 > cppUnit
CppUnit 快速使用指南
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2014/1/8 16:37:56 ] 推薦標(biāo)簽:開(kāi)發(fā) CppUnit 開(kāi)源

對(duì) fixture 的所有測(cè)試用例可以被封裝在一個(gè) CppUnit::TestFixture 的子類(lèi)(命名慣例是[ClassName]Test)中。然后定義這個(gè)fixture 的 setUp 和 tearDown 函數(shù),為每個(gè)測(cè)試用例定義一個(gè)測(cè)試函數(shù)(命名慣例是 testXXX)。下面是個(gè)簡(jiǎn)單的例子:

class MathTest : public CppUnit::TestFixture {
protected:
    int m_value1, m_value2;
public:
    MathTest() {}
    // 初始化函數(shù)
    void setUp () {
        m_value1 = 2;
        m_value2 = 3;
    }
    // 測(cè)試加法的測(cè)試函數(shù)
    void testAdd () {
        // 步驟(2),對(duì) fixture 進(jìn)行操作
        int result = m_value1 + m_value2;
        // 步驟(3),驗(yàn)證結(jié)果是否爭(zhēng)取
        CPPUNIT_ASSERT( result == 5 );
    }
    // 沒(méi)有什么清理工作沒(méi)有定義 tearDown.
}

在測(cè)試函數(shù)中對(duì)執(zhí)行結(jié)果的驗(yàn)證成功或者失敗直接反應(yīng)這個(gè)測(cè)試用例的成功和失敗。CppUnit 提供了多種驗(yàn)證成功失敗的方式:

  CPPUNIT_ASSERT(condition)     // 確信condition為真
  CPPUNIT_ASSERT_MESSAGE(message, condition) // 當(dāng)condition為假時(shí)失敗, 并打印message
  CPPUNIT_FAIL(message)      // 當(dāng)前測(cè)試失敗, 并打印message
  CPPUNIT_ASSERT_EQUAL(expected, actual)  // 確信兩者相等
  CPPUNIT_ASSERT_EQUAL_MESSAGE(message, expected, actual) // 失敗的同時(shí)打印message
  CPPUNIT_ASSERT_DOUBLES_EQUAL(expected, actual, delta) // 當(dāng)expected和actual之間差大于delta時(shí)失敗

要把對(duì) fixture 的一個(gè)測(cè)試函數(shù)轉(zhuǎn)變成一個(gè)測(cè)試用例,需要生成一個(gè) CppUnit::TestCaller 對(duì)象。而終運(yùn)行整個(gè)應(yīng)用程序的測(cè)試代碼的時(shí)候,可能需要同時(shí)運(yùn)行對(duì)一個(gè) fixture 的多個(gè)測(cè)試函數(shù),甚至多個(gè) fixture 的測(cè)試用例。CppUnit 中把這種同時(shí)運(yùn)行的測(cè)試案例的集合稱(chēng)為 TestSuite。而 TestRunner 則運(yùn)行測(cè)試用例或者 TestSuite,具體管理所有測(cè)試用例的生命周期。目前提供了 3 類(lèi)TestRunner,包括:
  CppUnit::TextUi::TestRunner  // 文本方式的TestRunner
  CppUnit::QtUi::TestRunner  // QT方式的TestRunner
  CppUnit::MfcUi::TestRunner  // MFC方式的TestRunner

下面是個(gè)文本方式 TestRunner 的例子:

   CppUnit::TextUi::TestRunner runner;
   CppUnit::TestSuite *suite= new CppUnit::TestSuite();
 
   // 添加一個(gè)測(cè)試用例
   suite->addTest(new CppUnit::TestCaller<MathTest> (
                "testAdd", testAdd));
 
   // 指定運(yùn)行TestSuite
   runner.addTest( suite );
   // 開(kāi)始運(yùn)行, 自動(dòng)顯示測(cè)試進(jìn)度和測(cè)試結(jié)果
   runner.run( "", true );    // Run all tests and wait

對(duì)測(cè)試結(jié)果的管理、顯示等功能涉及到另一類(lèi)對(duì)象,主要用于內(nèi)部對(duì)測(cè)試結(jié)果、進(jìn)度的管理,以及進(jìn)度和結(jié)果的顯示。這里不做介紹。

下面我們整理一下思路,結(jié)合一個(gè)簡(jiǎn)單的例子,把上面說(shuō)的思路串在一起。

上一頁(yè)1234下一頁(yè)
軟件測(cè)試工具 | 聯(lián)系我們 | 投訴建議 | 誠(chéng)聘英才 | 申請(qǐng)使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd
主站蜘蛛池模板: 免费看黄视频网站 | 日本欧美色图 | 成年黄网站在线观看免费 | 五月开心六月伊人色婷婷 | 日韩v| 91av中文字幕 | 黄色片一区 | 日韩妞干网 | 在线免费视频你懂的 | 欧美性高清另类videosex | 日本免费中文字幕在线看 | 视频三区精品中文字幕 | 最近中文字幕2019视频1 | 成人a免费α片在线视频网站 | 国产日韩欧美在线 | 日本一区二区三区中文字幕视频 | h国产视频 | 日韩亚洲欧美在线 | 午夜影院a级片 | 国内精品久久久久久网站 | 成 人 色综合 | 男女无遮挡毛片视频播放 | 成人在线免费网站 | 欧美区一区二 | 国产高清一区二区 | 中文字幕一区二区三区永久 | 男人把女人靠到爽痛视频 | 欧美日韩一区二区三区韩大 | 欧美日本道免费二区三区 | 国产日韩欧美三级 | 91国内精品久久久久怡红院 | 欧美精品福利 | 国产全黄三级播放 | 波多野结衣视频一区二区 | 日本一区二区三区在线看 | 天堂网在线网站成人午夜网站 | 日本无翼乌全彩无遮挡动漫 | 色狠狠网| 性猛交xxxxx按摩 | 午夜资源网 | 成年偏黄网站站免费 |