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

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

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    探索 JUnit 4.4 新特性

    發布: 2008-10-10 15:33 | 作者: seanhe | 來源: 測試時代采編 | 查看: 1886次 | 進入軟件測試論壇討論

    領測軟件測試網


  • 優點 5:錯誤信息更加易懂、可讀且具有描述性(descriptive)。

    JUnit 4.4 以前的版本默認出錯后不會拋出額外提示信息,如:

    assertTrue( s.indexOf("developer") > -1 || s.indexOf("Works") > -1 );

    如果該斷言出錯,只會拋出無用的錯誤信息,如:junit.framework.AssertionFailedError:null。

    如果想在出錯時想打印出一些有用的提示信息,必須得程序員另外手動寫,如:

    assertTrue( "Expected a string containing 'developer' or 'Works'", 
        s.indexOf("developer") > -1 || s.indexOf("Works") > -1 );
    

    非常的不方便,而且需要額外代碼。

    JUnit 4.4 會默認自動提供一些可讀的描述信息,如清單 4 所示:



    清單 4 JUnit 4.4 默認提供一些可讀的描述性錯誤信息
    						
    String s = "hello world!"; 
    assertThat( s, anyOf( containsString("developer"), containsString("Works") ) ); 
    // 如果出錯后,系統會自動拋出以下提示信息:
    java.lang.AssertionError: 
    Expected: (a string containing "developer" or a string containing "Works") 
    got: "hello world!"
    

  • 優點 6:開發人員可以通過實現 Matcher 接口,定制自己想要的匹配符。當開發人員發現自己的某些測試代碼在不同的測試中重復出現,經常被使用,這時用戶就可以自定義匹配符,將這些代碼綁定在一個斷言語句中,從而可以達到減少重復代碼并且更加易讀的目的。(具體怎么實現自定義可配置的匹配符,請參閱參考資料)
  • 如何使用 assertThat

    JUnit 4.4 自帶了一些 Hamcrest 的匹配符 Matcher,但是只有有限的幾個,在類 org.hamcrest.CoreMatchers 中定義,要想使用他們,必須導入包 org.hamcrest.CoreMatchers.*。

    如果想使用一些其他更多的匹配符 Matcher,可以從 Hamcrest 網頁下載 hamcrest-library-1.1.jarhamcrest-core-1.1.jar(請參閱 參考資料),并將其加入到工程庫中,所有的匹配符都在類 org.hamcrest.Matchers 中定義,要想使用,必須得在代碼中 import static org.hamcrest.Matchers.*;。如果使用外部的匹配符,最好就不要再使用 JUnit 4.4 自帶的匹配符了,因為這樣容易導致匹配符 Matcher 重復定義,編譯可能會出錯(ambiguous for the type)。 JUnit 4.4 允許使用 Hamcrest 來使用更多的匹配符,這還是 JUnit 第一次允許在自己的工程中使用第三方類。

    注意:

    1. assertThat 仍然是斷言語句,所以要想使用,必須還得 import static org.junit.Assert.*;;
    2. 雖然 assertThat 可以代替以前所有的斷言語句,但是以前的所有 assert 語句仍然可以繼續使用;

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    52/5<12345>

    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品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>