剛接觸單元測試時,就是使用的junit,說實話,對於新手來說,這個東西還是很直觀的,成功了就是一條非常好看的綠條,失敗了就是一條讓心滴血的紅條(有點誇張),但正是由於它的直觀,也會很容易迷惑人。一開始,在我心裡就留有這樣乙個印象,紅條出現,那肯定是有不對的地方(這無可厚非),綠條出現就一定成功了,那我就不去再管了,這就有問題了,為什麼呢?請看看下面的測試指令碼:
@test
public void testsomething()catch(someexception e)
}這段**如果執行之後是綠條,是否表明該用例成功了呢?答案顯然不是,為什麼呢?因為在呼叫被測介面的時候我們會捕獲異常,如果在呼叫被測介面時丟擲了異常,而這個異常恰好是我們要捕獲的異常,那麼後面的assertequals(expect, actual)語句根本就不會執行到,而是直接跳轉到catch塊中去了,這樣就不會做任何的驗證了,也就不會有驗證失敗,當然junit會認為這次測試是成功的,但實際上卻不是這樣的。要避免這樣的錯誤也比較容易,只需要把驗證的語句從try塊中拿出來,放在try的後面就可以了,這樣不管try塊裡面的運**況是怎麼樣的,驗證語句總能夠執行到。
!!!!新手最容易犯的錯誤
今天寫了乙個很簡單的程式,輸入三個不同長度的字串,然後將其右對齊顯示 因為剛學了幾天,經常會犯一些錯誤,如下 file day01.py line 62 print maxn len b b syntaerror invalid syntax 以上是之前的錯誤,找了好半天,也一直沒有發現,從頭到尾推...
Linux 新手容易犯的 7 個錯誤
改變作業系統對於任何人來說都是邁出的一大步,特別是當許多使用者不確定作業系統究竟如何的時候,尤其如此。但是,從windows切換到linux特別艱難。因為這兩個作業系統有不同的假設和優先順序,以及不同的做事方式。因此,新的linux使用者很容易混淆,因為他們使用windows開發的期待結果不再適用。...
新手單元測試的疑惑
1 nunit於vs的ide整合不好,老是在ide和nunit之間換來換去,而且每次執行nunit都要重新run一下。我個人覺得這個不是問題,經過我的小小配置,能在vs2005中一鍵執行nunit。配置如下 tool選單不是可以新增外部工具嗎,就把nunit新增進去好了 接著做如下的配置即可,因為n...