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

          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機制比較復雜,一般也用不到。
              
             

           


           


           




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


          網站導航:
           
          主站蜘蛛池模板: 威信县| 敦煌市| 闵行区| 田林县| 汨罗市| 射阳县| 蓝山县| 方山县| 茂名市| 比如县| 龙陵县| 琼中| 康马县| 芒康县| 潮安县| 余江县| 晋中市| 文山县| 巴中市| 崇州市| 洪湖市| 临西县| 余庆县| 东乌珠穆沁旗| 厦门市| 青海省| 宁阳县| 黄龙县| 泰安市| 米脂县| 五河县| 兴文县| 洮南市| 天全县| 通道| 阳泉市| 新沂市| 磐安县| 宿松县| 东宁县| 武强县|