在軟件的開發(fā)過程中谱轨,靈活的運用assertion斷言函數(shù)及時的對系統(tǒng)功能進(jìn)行測試能夠保證系統(tǒng)質(zhì)量并且減少后續(xù)測試的復(fù)雜度。
大多數(shù)開發(fā)語言都提供了斷言函數(shù)缩宜,可以用來做單元測試或模塊測試。斷言函數(shù)用來檢查函數(shù)的前置條件和后置條件,還可以用來保證數(shù)據(jù)常量不變爷贫。在斷言函數(shù)中认然,如果斷言條件為真,那么函數(shù)正常運行漫萄,如果斷言條件失敗卷员,斷言函數(shù)拋出一個異常。
斷言和測試很相似腾务,但是也有不同毕骡。要注意的是測試在于過程,斷言在執(zhí)行完測試的過程之后還會檢查結(jié)果窑睁。使用斷言來做單元測試時挺峡,首先要檢查輸入數(shù)據(jù)的格式+函數(shù)執(zhí)行的前置條件, 然后在退出測試單元之前需要檢查退出條件担钮。
使用斷言的時候橱赠,需要注意的兩點是: 1. assertion斷言應(yīng)該是程序的附加命令,不會改變程序自己的語義箫津。有人在寫程序的時候狭姨,直接把assert函數(shù)拿來當(dāng)做if或者try來用,這是不對的苏遥。assert只能用于調(diào)試測試程序的功能饼拍,不能使用assert函數(shù)來實現(xiàn)功能。在調(diào)試完成之后可以用一條簡單的語句就關(guān)閉所有assert函數(shù)的執(zhí)行田炭。2. 不能用assert函數(shù)來檢查共有前置條件师抄,請把assert的使用控制在單元內(nèi)
更多文章請訪問我的博客,謝謝教硫。