assertThat

assertThat

JUnit4.4引入了Hamcrest框架,Hamcest提供了一套匹配符Matcher,這些匹配符更接近自然語(yǔ)言,可讀性高,更加靈活

/**equalTo匹配符斷言被測(cè)的testedValue等于expectedValue,

* equalTo可以斷言數(shù)值之間,字符串之間和對(duì)象之間是否相等,相當(dāng)于Object的equals方法

*/

assertThat(testedValue, equalTo(expectedValue));

/**equalToIgnoringCase匹配符斷言被測(cè)的字符串testedString

*在忽略大小寫(xiě)的情況下等于expectedString

*/

assertThat(testedString, equalToIgnoringCase(expectedString));

/**equalToIgnoringWhiteSpace匹配符斷言被測(cè)的字符串testedString

*在忽略頭尾的任意個(gè)空格的情況下等于expectedString,

*注意:字符串中的空格不能被忽略

*/

assertThat(testedString, equalToIgnoringWhiteSpace(expectedString);

/**containsString匹配符斷言被測(cè)的字符串testedString包含子字符串subString**/

assertThat(testedString, containsString(subString) );

/**endsWith匹配符斷言被測(cè)的字符串testedString以子字符串suffix結(jié)尾*/

assertThat(testedString, endsWith(suffix));

/**startsWith匹配符斷言被測(cè)的字符串testedString以子字符串prefix開(kāi)始*/

assertThat(testedString, startsWith(prefix));

/**nullValue()匹配符斷言被測(cè)object的值為null*/

assertThat(object,nullValue());

/**notNullValue()匹配符斷言被測(cè)object的值不為null*/

assertThat(object,notNullValue());

/**is匹配符斷言被測(cè)的object等于后面給出匹配表達(dá)式*/

assertThat(testedString, is(equalTo(expectedValue)));

/**is匹配符簡(jiǎn)寫(xiě)應(yīng)用之一,is(equalTo(x))的簡(jiǎn)寫(xiě),斷言testedValue等于expectedValue*/

assertThat(testedValue, is(expectedValue));

/**is匹配符簡(jiǎn)寫(xiě)應(yīng)用之二,is(instanceOf(SomeClass.class))的簡(jiǎn)寫(xiě),

*斷言testedObject為Cheddar的實(shí)例

*/

assertThat(testedObject, is(Cheddar.class));

/**not匹配符和is匹配符正好相反,斷言被測(cè)的object不等于后面給出的object*/

assertThat(testedString, not(expectedString));

/**allOf匹配符斷言符合所有條件,相當(dāng)于“與”(&&)*/

assertThat(testedNumber, allOf( greaterThan(8), lessThan(16) ) );

/**anyOf匹配符斷言符合條件之一,相當(dāng)于“或”(||)*/

assertThat(testedNumber, anyOf( greaterThan(16), lessThan(8) ) );

/**closeTo匹配符斷言被測(cè)的浮點(diǎn)型數(shù)testedDouble在20.0?à0.5范圍之內(nèi)*/

assertThat(testedDouble, closeTo( 20.0, 0.5 ));

/**greaterThan匹配符斷言被測(cè)的數(shù)值testedNumber大于16.0*/

assertThat(testedNumber, greaterThan(16.0));

/** lessThan匹配符斷言被測(cè)的數(shù)值testedNumber小于16.0*/

assertThat(testedNumber, lessThan (16.0));

/** greaterThanOrEqualTo匹配符斷言被測(cè)的數(shù)值testedNumber大于等于16.0*/

assertThat(testedNumber, greaterThanOrEqualTo (16.0));

/** lessThanOrEqualTo匹配符斷言被測(cè)的testedNumber小于等于16.0*/

assertThat(testedNumber, lessThanOrEqualTo (16.0));

/**hasEntry匹配符斷言被測(cè)的Map對(duì)象mapObject含有一個(gè)鍵值為"key"對(duì)應(yīng)元素值為"value"的Entry項(xiàng)*/

assertThat(mapObject, hasEntry("key", "value" ) );

/**hasItem匹配符表明被測(cè)的迭代對(duì)象iterableObject含有元素element項(xiàng)則測(cè)試通過(guò)*/

assertThat(iterableObject, hasItem (element));

/** hasKey匹配符斷言被測(cè)的Map對(duì)象mapObject含有鍵值“key”*/

assertThat(mapObject, hasKey ("key"));

/** hasValue匹配符斷言被測(cè)的Map對(duì)象mapObject含有元素值value*/

assertThat(mapObject, hasValue(value));

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • ㈠一般匹配符 1、allOf 匹配符表明如果接下來(lái)的所有條件必須都成立測(cè)試才通過(guò),相當(dāng)于“與”(&&) asser...
    黃老鐵閱讀 4,963評(píng)論 2 5
  • 一、一般匹配符 allOf匹配符表明如果接下來(lái)的所有條件必須都成立測(cè)試才通過(guò),相當(dāng)于“與”(&&) assertT...
    丁逸閱讀 2,376評(píng)論 0 0
  • 概要 64學(xué)時(shí) 3.5學(xué)分 章節(jié)安排 電子商務(wù)網(wǎng)站概況 HTML5+CSS3 JavaScript Node 電子...
    阿啊阿吖丁閱讀 9,789評(píng)論 0 3
  • 正則表達(dá)式到底是什么東西?字符是計(jì)算機(jī)軟件處理文字時(shí)最基本的單位,可能是字母,數(shù)字,標(biāo)點(diǎn)符號(hào),空格,換行符,漢字等...
    獅子挽歌閱讀 2,271評(píng)論 0 9
  • 在這個(gè)還算不冷的冬季的最后幾天里,能把臉凍腫的人大概也沒(méi)幾個(gè)了吧。手呢,從讀小學(xué)開(kāi)始起一到冬天就凍腫,開(kāi)始是外婆拿...
    小小草fx閱讀 247評(píng)論 0 1

友情鏈接更多精彩內(nèi)容