You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
ge11021 ecb3c6b24a
First commit
2 years ago
src First commit 2 years ago
unittest First commit 2 years ago
.gitignore First commit 2 years ago
CMakeLists.txt First commit 2 years ago
CMakeLists.txt.in First commit 2 years ago
Readme.md First commit 2 years ago

Readme.md

OOP Exercise - Google Test

使用方法

clone 專案

git clone https://gitea.cglab.cs.nccu.edu.tw/yhchen/gtest_exercise.git

建立 build 資料夾,所有編譯需要的檔案會被建立在這個資料夾裡面

mkdir build
cd build

使用 cmake 建立 makefile並編譯檔案

cmake ..
make

進到 unittest 目錄,如果有看到 utest 執行檔,代表編譯順利完成

練習內容

src 目錄中含有 sphere 物件的宣告及實作,但是這個程式碼中有一些錯誤的部分,同學需要自己撰寫 unittest 來找出程式碼錯誤的部分並做出修正

覆蓋率計算

這個專案的 cmake 檔案包含計算覆蓋率的工具,會在編譯 unittestsrc 目錄時同時產生覆蓋率統計的檔案在 build/資料夾位置/CMakeFiles/專案名稱.dir/檔案名稱.cc.gcno,在執行過程式之後,可以執行下列指令顯示覆蓋率

gcov <gcno檔位置>

在 macos 中,預設使用的內建 gcov 會無法開啟生成的檔案,需要使用 homebrew 安裝的 gcov安裝 gcc 時會自動安裝),通常為 gcov-12,執行下列指令能夠檢查是否使用內建的 gcov

which gcov

如果輸出為 /usr/bin/gcov,就代表使用的是內建的 gcov。

附錄

Linux 環境下安裝 cmake (以 ubuntu 為例)

若環境有需要,請自行加上 sudo

apt update
apt install g++ cmake

Windows 環境下安裝 cmake

可以安裝 Windows Subsystem of Linux並按照上述 Linux 的步驟操作

MacOS 環境下安裝 cmake

需先安裝 brew安裝完成後執行

brew install gcc cmake

若使用的是 M1 mac需要手動將 g++ 加入 PATH請自行 google