<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      gtest

      google test (簡稱gtest) 是 google 開發的一個 c++單元測試框架,它能幫助開發者編寫可移植、可維護的單元測試代碼。

      1、安裝gtest

      # 克隆倉庫
      git clone https://github.com/google/googletest.git
      cd googletest
      # 創建構建目錄
      mkdir build
      cd build
      # 生成構建文件
      cmake ..
      # 編譯
      make
      # 安裝(可能需要管理員權限)
      sudo make install

       

      2 Google Test基礎語法

      2.1 斷言

      Google Test提供了一系列的斷言宏來檢查條件是否滿足。如果斷言失敗,測試用例被認為失敗。斷言分為兩大類:ASSERT_* 和 EXPECT_*

      • ASSERT_* 版本在斷言失敗時會產生一個致命錯誤,并終止當前函數的執行。包括ASSERT_TRUE,ASSERT_FALSEASSERT_EQ
      • EXPECT_* 版本在斷言失敗時會產生一個非致命錯誤,當前函數會繼續執行,這允許測試多個條件。包括EXPECT_TRUE,EXPECT_FALSEEXPECT_EQ

      2.2 測試用例和測試套件

      2.2.1 測試用例

      測試用例(Test Case):是指一組相關測試的集合。在Google Test中,使用 TEST() 宏來定義一個不需要額外的設置或清理過程的簡單測試用例。使用 TEST 時,只需提供測試案例名稱和測試名稱,然后編寫測試代碼塊。案例如下

      TEST(RbTreeTest, InsertTEST) {
        // 測試代碼在這里
        EXPECT_EQ(1, 1); // 一個示例斷言
      }

      其中TEST宏后的2個參數唯一標記了一個測試用例, 第一個參數可以重復, 但2個參數不能同時重復。
      使用 TEST,每個測試是獨立的,測試之間不共享任何狀態。這個宏適合于無狀態的測試,或者不需要為多個測試維護一個共同的環境時。

      2.2.2 測試套件

      測試套件(Test Suite):在更早的Google Test版本中,測試套件是指具有相同前綴的一組測試用例的集合。在新版本中,使用 TEST_F() 宏來定義測試套件,并且需要定義一個測試固件(Fixture)類。

      TEST_F 宏在有一個測試固件時使用,測試固件是一種用來重用相同的設置和清理代碼為多個測試服務的方法。測試固件通過一個從 ::testing::Test 派生的類來定義。然后,可以重寫 SetUp 和 TearDown 方法來初始化和清理測試環境。

      下面是一個使用 TEST_F 的例子:

      // 定義測試固件
      class MyTestFixture : public ::testing::Test {
      protected:
        void SetUp() override {
          // 設置測試環境的代碼
        }
      
        void TearDown() override {
          // 清理測試環境的代碼
        }
      };
      
      // 使用 TEST_F 編寫使用測試固件的測試
      TEST_F(MyTestFixture, 測試名稱) {
        // 可以使用設置好的環境的測試代碼
        EXPECT_EQ(1, 1); // 一個示例斷言
      }

       

      :使用 TEST_F,同一個固件內的每個測試按照它們定義的順序運行,但Google Test確保每個測試是隔離的;也就是說,在每個測試之前,環境都會重置為通過 SetUp 建立的初始狀態。這樣,一個測試所做的改變不會影響到另一個測試。

      posted @ 2025-04-17 18:00  hbg-rohens  閱讀(122)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 欧美成人精品在线| 亚洲一区二区三区啪啪| 久久精品国产99久久无毒不卡| 国产在线一区二区在线视频| 国产在线98福利播放视频| 99久久国产精品无码| 精品无码久久久久久久动漫| 一区二区三区国产综合在线| 国产综合色在线精品| 丰满爆乳一区二区三区| 老司机精品成人无码AV| AV毛片无码中文字幕不卡| 日本精品成人一区二区三区视频| 丰满岳乱妇一区二区三区 | 日产精品99久久久久久| 狠狠色噜噜狼狼狼色综合久| 欧美人与动zozo在线播放| 色8久久人人97超碰香蕉987| 一二三四日本高清社区5| 2021国产精品视频网站| 亚洲人成网线在线播放VA | 亚洲欧美精品在线| 国产人妻大战黑人20p| 内射老妇bbwx0c0ck| 自拍偷自拍亚洲一区二区| 国产资源精品中文字幕| 亚洲国产精品无码一区二区三区| 国产精品线在线精品| 国产精品一区二区AV| 1024你懂的国产精品| 无码人妻丰满熟妇啪啪| 九九热在线精品视频九九| 国产久免费热视频在线观看| 精品一区二区三区在线播放视频 | 中文字幕成人精品久久不卡| 2019国产精品青青草原| 九九热视频在线播放| 欧美视频二区欧美影视| 亚洲av一本二本三本| 国产一区二区三区在线观| 伊人久久大香线蕉综合影院|