文章中部分觀點參考自
參考鏈結
在進行單元測試時,是否需要測試私有成員仍然有爭議。一般情況下,測試public型別函式就足以覆蓋到private成員的測試。如下例所示:
class visit
public:
void
setx
(int a)
void
sety
(int b)
intgetadd()
};test
(visittest,test_through_public_function)
intmain
(int argc,
char
*ar**)
測試結果為:
但是當public函式測試失敗,需要排查錯誤點時,仍然需要對其呼叫的private成員進行測試。
主要有以下幾種方法:
1.使用friend
使用friend關鍵字,但是會修改原有的**
2.使用#define private public將private變成public
在測試**的標頭檔案前新增
#define private public
在當前檔案範圍內將public修改為private,可以在不修改源**的情況下訪問private成員
3.通過位址偏移訪問類的資料成員
該方法只適用於訪問類的成員變數、不適用於訪問類的成員函式。
綜上所述,在堅持要測試private函式的情況下,推薦使用第二個方法。
c 單元測試
資料庫單元測試 1.資料庫設計 person id int,主鍵 username password age 2.新建乙個專案 2.1.定義person類 public class person set public string username set public string passwor...
C 單元測試
單元測試,或者更大一些的自動化測試,對提高軟體質量是有很大幫助的。通過一系列預先設計的規則,就可以覆蓋大量的測試點。尤其是對重構一類的任務,確保修改前後系統行為不變很重要,而修改後的回歸測試工作量又極其繁重,此時單元測試,或者自動化測試就能體現出無以倫比的效率。我在2005年學python不久,就鬱...
C 單元測試
學歷代表你的過去,能力代表你的現在,學習代表你的將來 十年河東,十年河西,莫欺少年窮 學無止境,精益求精 廢話咱也不多說,直接進入正題 首先說說單元測試的好處 今天說說c 的單元測試特點 1 單元測試的類名用 testclass 標註 2 單元測試的方法名用 testmethod 標註 3 單元測試...