日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發布時間:2024/8/1 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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:编写第一条单元测试用例的全部內容,希望文章能夠幫你解決所遇到的問題。

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