使用指令碼語言 簡簡單單做C/C++單元測試(之一)
先介紹基本概念:單元測試(unit testing),是指對軟體中的最小可測試單元進行檢查和驗證。對於單元測試中單元的含義,一般來說,要根據實際情況去判定其具體含義,如C語言中單元指一個函式,Java裡單元指一個類,圖形化的軟體中可以指一個視窗或一個選單等。總的來說,單元就是人為規定的最小的被測功能模組。單元測試是在軟體開發過程中要進行的最低級別的測試活動,軟體的獨立單元將在與程式的其他部分相隔離的情況下進行測試。
單元測試是由程式設計師自己來完成,最終受益的也是程式設計師自己。可以這麼說,程式設計師有責任編寫功能程式碼,同時也就有責任為自己的程式碼編寫單元測試。執行單元測試,就是為了證明這段程式碼的行為和我們期望的一致。對於程式設計師來說,如果養成了對自己寫的程式碼進行單元測試的習慣,不但可以寫出高質量的程式碼,而且還能提高程式設計水平。
當然,對於單元測試我們每個程式設計師都不可否認它的優點,但是為什麼很多人都不會去執行單元測試?我認為主要原因是執行過程太繁瑣,比如寫完一個小的模組動態庫,還需要再建立一個新工程,再寫同樣的程式碼量來實現他的測試功能,同時還需要編譯和執行。舉個簡單的例子:給定一個動態庫,直接寫一句呼叫,在鍵盤上敲一個快捷鍵就可以彈出來有測試結果的視窗。如果能夠像上述簡單的執行單元測試,是否會給大家帶來很大的興趣?本篇文章就會給大家一個這樣的驚喜!
單元測試最煩瑣最苦惱的是測試工具的選擇,常用的工具有:cppUnit, C++Test, Visual Unit,gtest等。其實對於程式設計師來說,語言也是個工具,而我們的工具箱裡面,不應該僅僅只有某一樣工具,小說裡面常常形容一個高手:”