問: Cppunit 可以測試內(nèi)存泄漏嗎?
答: 內(nèi)存泄漏適合于集成后進(jìn)行,并且也有專門的工具。對于某個代碼單元來說,內(nèi)存泄漏是難于測試的,單元內(nèi)的未釋放內(nèi)存不等于會有內(nèi)存泄漏。內(nèi)存泄漏不是單元測試的內(nèi)容,把內(nèi)存泄漏扯到單元測試中來是吃力不討好的。所有集成后才易于發(fā)現(xiàn)的問題,都不應(yīng)該是單元測試的內(nèi)容。
問:感謝,不過cppunit也可以集成測試的吧?
答: 廣義來說,測試比較高級的函數(shù),如果底層函數(shù)不是打樁來代替,就可以算是集成測試。
狹義來說,集成測試就是測試模塊之間的接口,接口是什么?還不就是函數(shù)。管它面向?qū)ο筮€是面向丈母娘,C/C++的單元和集成測試主要就是測試函數(shù)功能。這樣說的話,CPPUNIT當(dāng)然可以用于集成測試。
不過,集成測試也不測內(nèi)存泄漏,內(nèi)存泄漏測試應(yīng)該是集成之后的事。內(nèi)存泄漏測試是很簡單的,VC系列都有這個功能,原理也簡單:申請內(nèi)存時記錄一下,釋放時再登記一下,系統(tǒng)退出后,一對比就出來結(jié)果了。要在單元和集成測試中來做,那就難了。鼻子用來呼吸,嘴巴用來吃飯,都很簡單,硬要用鼻子來吃飯,那么...
新聞熱點
疑難解答