日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

gtest基础使用01:编写第一条单元测试用例

發布時間:2024/8/1 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 gtest基础使用01:编写第一条单元测试用例 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

通過gtest編寫第一條單元測試用例

  • 寫在前面
  • 基礎知識
  • 創建項目
  • 編寫用例
  • 一些總結

寫在前面

  • 最近正在學習單元測試,對于一個零基礎的人來說,還是蠻痛苦的
  • 好記性不如爛筆頭,把自己趟出來的路記錄下來,提升自己的同時也可能幫到別人
  • 基礎知識

  • gtest是Google開發的跨平臺C++單元測試框架
  • Visual Studio 2019已經集成了gtest
  • 創建項目

  • 打開VS 2019,創建新項目
  • 搜索關鍵字 Google,可以得到 Google Test的項目模板:Write C++ unit tests using Google Test.
  • 選擇項目模板Google Test,點擊下一步
  • 配置項目名稱和位置,點擊創建
  • 測試項目配置如下
  • 等待VS創建好新項目:如圖所示,創建好了名為myGTest的項目
  • 編寫用例

  • 在test.cpp中編寫函數Factorial() ,并編寫Factorial() 的單元測試用例
  • #include "pch.h" int Factorial(int n) {int result = 1;for (int i = 1; i <= n; i++) {result *= i;}return result; }TEST(TestFactorialFunc, FirstGTest) {EXPECT_EQ(1, Factorial(1)); EXPECT_EQ(24, Factorial(4)); }
  • 通過觀察單元測試用例 TEST(TestFactorialFunc, FirstGTest) 可以看到,通過gtest編寫測試用例還是蠻方便的
    (1)我們需要使用TEST這個宏,它有兩個參數,Google對這兩個參數的解釋為:TEST[TestCaseName,TestName],TestCaseName意味著測試用例集,TestName是TestCaseName的用例
    (2)對檢查點的檢查,我們使用了EXPECT_EQ這個宏,這個宏用來比較兩個數字是否相等
    (3)Google打包了一系列EXPECT_* 和 ASSERT_* 的宏,EXPECT和ASSERT系列的區別就是:EXPECT_* 失敗時,測試用例繼續執行;ASSERT_*失敗時,同一用例后面的語句將不再執行
  • TEST(TestFactorialFunc, FirstGTest) {EXPECT_EQ(1, Factorial(1)); EXPECT_EQ(24, Factorial(4)); }
  • 執行結果如下圖所示
  • 一些總結

  • 本文簡單說明了gtest最基礎的使用。gtest還有很多高級的用法,在后面的學習中繼續總結
  • 例子中使用TEST宏編寫了一條測試用例,使用EXPECT_EQ設置了檢查點
  • 對于gtest測試框架,我們不用投入精力到測試框架本身,只需要關注測試用例的設計和編寫
  • 總結

    以上是生活随笔為你收集整理的gtest基础使用01:编写第一条单元测试用例的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。