亚洲好骚综合-亚洲黄色录像-亚洲黄色网址-亚洲黄色网址大全-99久久99久久-99久久99久久精品国产

您的位置:軟件測試 > 開源軟件測試 > 開源單元測試工具 > junit
探索JUnit 4.4特性
作者:網(wǎng)絡轉載 發(fā)布時間:[ 2013/3/12 16:00:38 ] 推薦標簽:

    如何使用 assertThat

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

    如果想使用一些其他更多的匹配符 Matcher,可以從 Hamcrest 網(wǎng)頁下載 hamcrest-library-1.1.jar 和 hamcrest-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 語句仍然可以繼續(xù)使用;清單 5 列舉了大部分 assertThat 的使用例子:

    清單 5 assertThat 使用舉例

//一般匹配符

// allOf匹配符表明如果接下來的所有條件必須都成立測試才通過,相當于“與”(&&)
assertThat( testedNumber, allOf( greaterThan(8), lessThan(16) ) );
// anyOf匹配符表明如果接下來的所有條件只要有一個成立則測試通過,相當于“或”(||)
assertThat( testedNumber, anyOf( greaterThan(16), lessThan(8) ) );
// anything匹配符表明無論什么條件,永遠為true
assertThat( testedNumber, anything() );
// is匹配符表明如果前面待測的object等于后面給出的object,則測試通過
assertThat( testedString, is( "developerWorks" ) );
// not匹配符和is匹配符正好相反,表明如果前面待測的object不等于后面給出的object,則測試通過
assertThat( testedString, not( "developerWorks" ) );

//字符串相關匹配符

// containsString匹配符表明如果測試的字符串testedString包含子字符串"developerWorks"則測試通過
assertThat( testedString, containsString( "developerWorks" ) );
// endsWith匹配符表明如果測試的字符串testedString以子字符串"developerWorks"結尾則測試通過
assertThat( testedString, endsWith( "developerWorks" ) );
// startsWith匹配符表明如果測試的字符串testedString以子字符串"developerWorks"開始則測試通過
assertThat( testedString, startsWith( "developerWorks" ) );
// equalTo匹配符表明如果測試的testedValue等于expectedValue則測試通過,equalTo可以測試數(shù)值之間,字
//符串之間和對象之間是否相等,相當于Object的equals方法
assertThat( testedValue, equalTo( expectedValue ) );
// equalToIgnoringCase匹配符表明如果測試的字符串testedString在忽略大小寫的情況下等于
//"developerWorks"則測試通過
assertThat( testedString, equalToIgnoringCase( "developerWorks" ) );
// equalToIgnoringWhiteSpace匹配符表明如果測試的字符串testedString在忽略頭尾的任意個空格的情況下等
//于"developerWorks"則測試通過,注意:字符串中的空格不能被忽略
assertThat( testedString, equalToIgnoringWhiteSpace( "developerWorks" ) );

//數(shù)值相關匹配符

// closeTo匹配符表明如果所測試的浮點型數(shù)testedDouble在20.0±0.5范圍之內則測試通過
assertThat( testedDouble, closeTo( 20.0, 0.5 ) );
// greaterThan匹配符表明如果所測試的數(shù)值testedNumber大于16.0則測試通過
assertThat( testedNumber, greaterThan(16.0) );
// lessThan匹配符表明如果所測試的數(shù)值testedNumber小于16.0則測試通過
assertThat( testedNumber, lessThan (16.0) );
// greaterThanOrEqualTo匹配符表明如果所測試的數(shù)值testedNumber大于等于16.0則測試通過
assertThat( testedNumber, greaterThanOrEqualTo (16.0) );
// lessThanOrEqualTo匹配符表明如果所測試的數(shù)值testedNumber小于等于16.0則測試通過
assertThat( testedNumber, lessThanOrEqualTo (16.0) );

//collection相關匹配符

// hasEntry匹配符表明如果測試的Map對象mapObject含有一個鍵值為"key"對應元素值為"value"的Entry項則
//測試通過
assertThat( mapObject, hasEntry( "key", "value" ) );
// hasItem匹配符表明如果測試的迭代對象iterableObject含有元素“element”項則測試通過
assertThat( iterableObject, hasItem ( "element" ) );
// hasKey匹配符表明如果測試的Map對象mapObject含有鍵值“key”則測試通過
assertThat( mapObject, hasKey ( "key" ) );
// hasValue匹配符表明如果測試的Map對象mapObject含有元素值“value”則測試通過
assertThat( mapObject, hasValue ( "key" ) );

上一頁1234567下一頁
軟件測試工具 | 聯(lián)系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd
主站蜘蛛池模板: 欧美性xxxx偷拍 | 国产成人免费永久播放视频平台 | 天天操2018 | 99v视频国产在线观看免费 | 成人免费视频视频在线不卡 | 一区二区三区成人 | 最新国产三级 | 亚洲欧美日韩人成 | 日本高清视频色wwwwww色 | 亚洲另类在线视频 | 国外欧美一区另类中文字幕 | 日本免费一区二区三区中文 | 午夜久久网| 国产视频精品免费 | 欧美成人免费全部色播 | 激情五月宗合网 | 亚洲国产日韩a在线播放 | 日韩影片在线观看 | 2021人人莫人人擦人人看 | 黄污视频| 久久午夜精品视频 | 国产女人又爽又大 | 色综合天天色综合 | 黄色片网站免费 | 色噜噜狠狠色综合免费视频 | 久久久久久国产精品视频 | 97国产伦子在线观看 | 最近韩国日本高清免费观看 | 1717she永久精品免费 | 丁香激情五月 | 一区二区三区欧美日韩 | 在线视频一区二区三区四区 | h在线播放 | 久久艹人人艹 | 日本欧美一区二区三区在线观看 | 免费一级a毛片在线播放视 免费一级a毛片在线播出 | 国产一级高清视频免费看 | 两个人看的www高清免费视频 | 91在线 在线播放 | 台湾乱xxxxxxxxx | 免费看日韩 |