C#單元測試的使用的安全性淺析
這里我們來談?wù)凜#單元測試是不是值得依賴呢?針對這個問題,想是很多剛剛接觸C#單元測試的程序員,那么下面的解釋會完全解除你的顧慮,那么開始我們的講述吧:
對C#單元測試依賴疑惑的解析:
不能依賴的代碼是沒有多大用處的。但更糟糕的是,那些你自認為可以信賴的代碼(但是結(jié)果證明這些代碼是有bug 的)有時候也會讓你花很多時間在跟蹤和調(diào)試上面。顯然,幾乎沒有項目可以允許你在這上面浪費太多的時間,因此無論如何,你都要避免這種“前進一步,后退兩步”的開發(fā)方法。也就是說,要讓開發(fā)過程保持穩(wěn)定的步伐前進。
對C#單元測試依賴的內(nèi)涵解析:
沒人能夠?qū)懗?**無缺的代碼;但是這并沒有關(guān)系——只要你知道問題的所在就足夠了。許多大型軟件項目的失敗,諸如只能把壞了的太空船擱淺在遙遠的行星,或者在飛行的途中就爆炸了,都能通過認知軟件的限制來避免。例如,Arianne 5 號火箭軟件重用了來自于之前一個火箭項目的一個程序庫,而這個程序庫并不能處理新火箭的飛行高度(比原來火箭要高)(引入單元測試是很簡單的,因為它本身就充滿了樂趣。然而在項目交付的時候,我們給客戶和最終用戶的仍然是產(chǎn)品代碼,而不包含單元測試的代碼;因此,我們必須對單元測試的目的有個充分的認識。首先也是最重要的,使用單元測試是為了使你的工作——以及你隊友的工作——完成得更加輕松。) ,從而在起飛40 秒之后就發(fā)生了爆炸,導(dǎo)致5 億美元的損失。
對C#單元測試依賴的真正含義:
顯然,我們希望能夠依賴于所編寫的代碼,并且清楚地知道這些代碼的功能和約束。
例如,假設(shè)你寫了一個反轉(zhuǎn)數(shù)值序列的方法。在測試的過程中,你也許會傳一個空序列給這個程序——但導(dǎo)致了程序崩潰。實際上,程序并沒有要求該程序必須能夠接收一個空序列,因此你可以只在方法的注釋中說明這個約束:如果傳遞一個空序列給這個方法,那么這個方法將會拋出一個異?!,F(xiàn)在你馬上就知道了該代碼的約束,從而也就不需要用其他很麻煩的方法來解決這個問題(因為在某些地點要解決這個問題并不方便,比如在高空大氣層中)。
有關(guān)C#單元測試的依賴性的問題我們就探討到這里,希望對你了解和學(xué)習(xí)對C#單元測試有所幫助。
【編輯推薦】