• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 單元測試之新手最容易犯的錯誤

    發表于:2009-06-16來源:作者:點擊數: 標簽:單元新手
    剛接觸單元 測試 時,就是使用的 Junit ,說實話,對于新手來說,這個東西還是很直觀的,成功了就是一條非常好看的綠條,失敗了就是一條讓心滴血的紅條(有點夸張),但正是由于它的直觀,也會很容易迷惑人。一開始,在我心里就留有這樣一個印象,紅條出現,那
    剛接觸單元測試時,就是使用的Junit,說實話,對于新手來說,這個東西還是很直觀的,成功了就是一條非常好看的綠條,失敗了就是一條讓心滴血的紅條(有點夸張),但正是由于它的直觀,也會很容易迷惑人。一開始,在我心里就留有這樣一個印象,紅條出現,那肯定是有不對的地方(這無可厚非),綠條出現就一定成功了,那我就不去再管了,這就有問題了,為什么呢?請看看下面的測試腳本: 
    @Test

      
    public void testSomething(){

      try{

      
    //調用被測試接口

      ……

      
    //驗證調用結果

      AssertEquals(expect, actual)

      }catch(SomeException e){

      ……

      }

      }

      這段代碼如果運行之后是綠條,是否表明該用例成功了呢?答案顯然不是,為什么呢?因為在調用被測接口的時候我們會捕獲異常,如果在調用被測接口時拋出了異常,而這個異常恰好是我們要捕獲的異常,那么后面的AssertEquals(expect, actual)語句根本就不會運行到,而是直接跳轉到catch塊中去了,這樣就不會做任何的驗證了,也就不會有驗證失敗,當然Junit會認為這次測試是成功的,但實際上卻不是這樣的。要避免這樣的錯誤也比較容易,只需要把驗證的語句從try塊中拿出來,放在try的后面就可以了,這樣不管try塊里面的運行情況是怎么樣的,驗證語句總能夠運行到。

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>