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

您的位置:軟件測試 > 開源軟件測試 > 開源單元測試工具 > cppUnit
CppUnit 快速使用指南
作者:網絡轉載 發布時間:[ 2014/1/8 16:37:56 ] 推薦標簽:開發 CppUnit 開源

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

class MathTest : public CppUnit::TestFixture {
protected:
    int m_value1, m_value2;
public:
    MathTest() {}
    // 初始化函數
    void setUp () {
        m_value1 = 2;
        m_value2 = 3;
    }
    // 測試加法的測試函數
    void testAdd () {
        // 步驟(2),對 fixture 進行操作
        int result = m_value1 + m_value2;
        // 步驟(3),驗證結果是否爭取
        CPPUNIT_ASSERT( result == 5 );
    }
    // 沒有什么清理工作沒有定義 tearDown.
}

在測試函數中對執行結果的驗證成功或者失敗直接反應這個測試用例的成功和失敗。CppUnit 提供了多種驗證成功失敗的方式:

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

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

下面是個文本方式 TestRunner 的例子:

   CppUnit::TextUi::TestRunner runner;
   CppUnit::TestSuite *suite= new CppUnit::TestSuite();
 
   // 添加一個測試用例
   suite->addTest(new CppUnit::TestCaller<MathTest> (
                "testAdd", testAdd));
 
   // 指定運行TestSuite
   runner.addTest( suite );
   // 開始運行, 自動顯示測試進度和測試結果
   runner.run( "", true );    // Run all tests and wait

對測試結果的管理、顯示等功能涉及到另一類對象,主要用于內部對測試結果、進度的管理,以及進度和結果的顯示。這里不做介紹。

下面我們整理一下思路,結合一個簡單的例子,把上面說的思路串在一起。

上一頁1234下一頁
軟件測試工具 | 聯系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網站地圖
滬ICP備07036474 2003-2017 版權所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd
主站蜘蛛池模板: 一个人看的www免费在线视频 | 欧美亚洲综合网 | 福利片成人午夜在线 | 欧美视频二区 | 亚洲最色网站 | 日本免费新一区二区三区 | ntr中文字幕亚洲综合 | 亚洲欧美综合 | 最近免费手机中文字幕3 | 大片免费观看在线视频 | 成年男女免费大片在线观看 | 日韩精品中文字幕一区二区三区 | 国产国语videosex | 亚洲欧美精品一区 | 国产成人在线视频网站 | 日黄网站 | 成人午夜大片 | 亚洲人成网站在线观看播放青青 | xxxx中国hdxxxx| 免费看涩涩视频网站入口 | 午夜一级做a爰片久久毛片 午夜一级免费视频 | 开心成人激情 | 国产精品视频免费播放 | 一二三四视频社区5在线高清视频 | jzzjlzz亚洲乱熟在线播放 | 日本成人一级片 | 国内精品久久久久久久影视麻豆 | 最刺激黄a大片免费观看 | 最近中文字幕2019免费版日本 | 亚洲jjzzjjzz在线观看 | 91视频合集| 国产精品午夜免费观看网站 | 亚洲一区免费看 | 日韩色影视 | 丰满大胸五十路免费 | 欧美一级片在线视频 | 国产一级久久久久久毛片 | 国产欧美精品一区二区三区–老狼 | 亚洲成人黄色在线观看 | 亚洲精品一卡2卡3卡三卡四卡 | 在线播放性xxx欧美 在线播放你懂的 |