您的位置:軟件測(cè)試 > 開(kāi)源軟件測(cè)試 > 開(kāi)源單元測(cè)試工具 > junit
JUnit?assertThat(acture,matcher)
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2015/4/1 13:52:55 ] 推薦標(biāo)簽:Junit 單元測(cè)試 軟件測(cè)試工具

  使用hamcrest之前需要引入相關(guān)的jar包,包括hamcrest-core.1.3.jar和hamcrest-library-1.3.jar。
  具體引入的方法為:右擊JUnit工程——build path——add external archives
  這時(shí)在真正測(cè)試的時(shí)候,還需要引入靜態(tài)方法import static org.hamcrest.Matchers.*;
package com.bjsxt.junit4.test;
import static org.junit.Assert.*;
import static org.hamcrest.Matchers.*;
import org.junit.Test;
import com.bjsxt.junit4.T;
public class TTest {
@Test
public void testAdd() {
int z = new T().add(5,3);
assertThat(z,is(8));
}
}
  運(yùn)行后會(huì)報(bào)錯(cuò):
  java.lang.SecurityException: class "org.hamcrest.Matchers"'s signer
  原因:
  JUnit4和hamcrest包的class loader不是同一個(gè)
  解決方案如下所示:
  (1)刪除junit包里面的jar包即eclipse自帶的library:JUnit4——右擊build path——remove
  (2)引入新版本的library的jar包
  1.assertThat
  2.使用hamcrest的匹配方法
  a)更自然
  3.示例
a)assertThat( n, allOf( greaterThan(1), lessThan(15) ) );
assertThat( n, anyOf( greaterThan(16), lessThan(8) ) );
assertThat( n, anything() );
assertThat( str, is( "bjsxt" ) );//字符串是不是”bjsxt”
assertThat( str, not( "bjxxt" ) );
b)assertThat( str, containsString( "bjsxt" ) );
assertThat( str, endsWith("bjsxt" ) );
assertThat( str, startsWith( "bjsxt" ) );
assertThat( n, equalTo( nExpected ) );
assertThat( str, equalToIgnoringCase( "bjsxt" ) );  //字符串忽略大小寫(xiě)是否相等
assertThat( str, equalToIgnoringWhiteSpace( "bjsxt" ) );  //字符串忽略空格是否相等
c)assertThat( d, closeTo( 3.0, 0.3 ) );//數(shù)值接近3.0 誤差不超過(guò)0.3
assertThat( d, greaterThan(3.0) );
assertThat( d, lessThan (10.0) );
assertThat( d, greaterThanOrEqualTo (5.0) );//大于等于
assertThat( d, lessThanOrEqualTo (16.0) );
d)assertThat( map, hasEntry( "bjsxt", "bjsxt" ) );//map里面key-value判斷
assertThat( iterable, hasItem ( "bjsxt" ) );
assertThat( map, hasKey ( "bjsxt" ) );
assertThat( map, hasValue ( "bjsxt" ) );

軟件測(cè)試工具 | 聯(lián)系我們 | 投訴建議 | 誠(chéng)聘英才 | 申請(qǐng)使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd