posts - 195, comments - 34, trackbacks - 0, articles - 1

          導航

          <2009年7月>
          2829301234
          567891011
          12131415161718
          19202122232425
          2627282930311
          2345678

          常用鏈接

          留言簿(14)

          隨筆分類

          隨筆檔案

          文章檔案

          相冊

          收藏夾

          技術基礎

          技術相關

          研究方向

          算法類

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          JUnit4.4新特性

          Posted on 2009-07-25 21:27 小強摩羯座 閱讀(327) 評論(0)  編輯  收藏

                  JUnit 設計的目的就是有效地抓住編程人員寫代碼的意圖,然后快速檢查他們的代碼是否與他們的意圖相匹配。 JUnit 發展至今,版本不停的翻新,但是所有版本都一致致力于解決一個問題,那就是如何發現編程人員的代碼意圖,并且如何使得編程人員更加容易地表達他們的代碼意圖。JUnit 4.4 也是為了如何能夠更好的達到這個目的而出現的。

              JUnit 4.4 主要提供了以下三個大方面的新特性來更好的抓住編程人員的代碼意圖:

              1)提供了新的斷言語法(Assertion syntax)——assertThat 。
          *新的斷言語法主要提供了assertThat,其操作示例:

          // 聯合匹配符not和equalTo表示“不等于”
          assertThat( something, not( equalTo( "developer" ) ) );
          // 聯合匹配符not和containsString表示“不包含子字符串”
          assertThat( something, not( containsString( "Works" ) ) );
          // 聯合匹配符anyOf和containsString表示“包含任何一個子字符串”
          assertThat(something, anyOf(containsString("developer"), containsString("Works")));

          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!"

              2)提供了假設機制(Assumption)。
             提供語句assumeThat, assumeTrue,assumeNotNull 和 assumeNoException。
           *assumeThat作用:語法同assertThat,語義當假設成立時執行其后語句。
            應用:1、改變條件,可對某些測試用例選擇性執行。2、
           *使用: assume* 假設語句,必須得 import static org.junit.Assume.*;。 如果引用了第三方 hamcrest 的匹配符庫,必須得 import static org.hamcrest.Matchers.*;,如果引用 JUnit 4.4 自帶的匹配符庫,需要 import static org.hamcrest.CoreMatchers.*;。 
              3)提供了理論機制(Theory)

             Theory機制比較復雜,一般也用不到。
              
             

           


           


           




          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 涿鹿县| 廊坊市| 鄂伦春自治旗| 东明县| 濉溪县| 任丘市| 昆明市| 三江| 怀远县| 红安县| 雷波县| 林芝县| 中宁县| 左贡县| 黄大仙区| 鹤岗市| 阿荣旗| 商洛市| 平安县| 巴南区| 新乡县| 繁昌县| 溧水县| 台南市| 大姚县| 邳州市| 普洱| 万盛区| 平陆县| 禄丰县| 任丘市| 开江县| 报价| 四平市| 红安县| 新丰县| 宜川县| 务川| 寻甸| 安西县| 焉耆|