搞了3個禮拜的單元測試了,把最近所學所用的東西記錄一下,順便為公司接下來要做的單元測試培訓做下背書。
首先什麼是單元測試。
在物件導向程式設計中,通常乙個類會承擔乙個單一的職責,所以我們可以用類來劃分單元。單元測試,就是針對專案中的各個類進行測試。它側重於發現單元內部的邏輯錯誤,屬於白盒測試的範疇。
單元測試強調以下幾點:
語句覆蓋:選擇足夠的測試資料,使得**的每個語句都至少被執行一次。
判定覆蓋:選擇足夠的測試資料,使得程式的每個判定條件都至少出現一次真值和一次假值。
條件覆蓋:使得每乙個判斷語句的每個邏輯條件可能的值至少出現一次。
條件組合覆蓋:即當乙個判定條件由多個條件組合二成時,使得每個條件的各種可能的組合都出現一次。
資料覆蓋:即用盡可能多的資料傳入介面中進行測試。
單元測試入口。
在c++中,任何程式都需要main函式,gtest同理,下面是單元測試的入口main。
#include int main(int argc,char **ar**)
測試用例編寫。
首先我們得有乙個介面:
int sum(int a,int b)
測試用例:
test(calculate,test_sum)
expect_eq(expected,actual),這個斷言用來判斷actual與expected是否相等。expected是預期值,actual是實際值。
當二者相等時,測試通過。
就是這麼簡單。
gtest單元測試
1 用於加入源,方便更新。sudo add apt repository ppa ubuntu toolchain r test 2 更新 sudo apt get update 3 將 usr bin gcc和 usr bin g 這兩個快捷方式給刪除 sudo update alternativ...
C 單元測試框架 gtest 5 gmock
google mock 簡稱 gmock 是google在2008年推出的一套針對c 的 mock框架,它靈感取自於 jmock easymock harcreat。google mock是用來配合 google test 對c 專案做單元測試的。它依賴於 googletest。當你寫乙個原型或是測...
c 單元測試工具之 gtest
gtest是谷歌為c 開發的單元測試框架,該框架基於xunit架構。gtest提供了較豐富的測試特性,且其命令列方式輸出介面友好美觀,是c 單元測試工具的較佳選擇。先從這裡 configure make 這裡google沒有提供make install行為來安裝,我們需要手動安裝。繼續執行以下命令 ...