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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

vscode通过插件一键运行 c++单元测试

發布時間:2024/1/1 c/c++ 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 vscode通过插件一键运行 c++单元测试 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

gtest使用初探

簡介: 本文在 ubuntu18.04 上實現了 googletest 的全局安裝,并在一個 demo項目中演示了使用 cmake 引入了該庫,實現了在命令行中運行 c++ 單元測試,包括運行單個 TEST 函數。另外通過 vscode 的插件 C++ TestMate, 實現了像 golang 那樣的通過點擊按鈕即可運行單個測試,極大地方便了開發。

一、在命令行中使用googletest

a. 安裝

補充文檔 gtest詳細安裝教程

  • 下載安裝包,此命令只會下載源碼到 /usr/src
    sudo apt-get install libgtest-dev
  • 編譯并拷貝
  • # 先去到 /usr/src/gtest $sudo cmake && sudo make # 頭文件會自動安裝(/usr/include/gtest),但是庫文件需要手動拷貝到系統搜索路徑下 $sudo cp libgtest* /usr/lib/

    b. 在項目中通過cmake引用

  • 通過cmake 自帶的 find_package 包管理命令來引入,以下 cmake文件是一部分,本質上生成 unit test的執行函數和普通的 c++ 可執行文件沒有大的區別
  • find_package(GTest REQUIRED) include_directories(${GTEST_INCLUDE_DIRS}) add_executable(runTests test/main_test.cpp) target_link_libraries(runTests ${GTEST_BOTH_LIBRARIES} pthread) install(TARGETS runTests)

    find_package 會通過 /usr/share/cmake-3.25/Modules/FindGTest.cmake 這個文件來查找整個 GTest的庫位置。 補充文檔,關于 find_package 詳細原理

    c. 運行

    執行完 cmake 和 make install 之后,去到 runTests 文件的安裝路徑

    • runTests --gtest_list_tests 列出所有的tests
    • runTests --gtest_filter=pico.test1 可以單獨跑某個 test
      補充文檔, googletest 詳細教程

    二、配合 vscode 插件一鍵運行UT

    a. 安裝和配置插件

    在vscode 的插件搜索欄中搜索 googletest, 選擇C++ TestMate 安裝
    配置,在 .vscode/setting中增加編譯出來的可執行 test 文件的目錄
    補充文檔 插件具體配置

    # 配置成ut執行文件的路徑,支持正則匹配 "testMate.cpp.test.advancedExecutables": [{"pattern":"${workspaceFolder}/cxx-lab/install/bin/*Tests"}],

    避坑:在我的電腦上,普通的配置(test.executables + test.workingDirectory的模式)沒有作用,只有 test.advancedExecutables 有作用,原因未知。

    效果圖

    該插件,不僅可以運行 ut, 還可以進行 debug 操作,可以說是非常方便了

    總結

    以上是生活随笔為你收集整理的vscode通过插件一键运行 c++单元测试的全部內容,希望文章能夠幫你解決所遇到的問題。

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