Junit 学习

1,使用hamcest时候要先引用包hamcrest-core.jar和hamcrest-library.jar,使用时候,把myeclipse自带引入的junit的包去掉,自己引入最新的junit的jar包,就是可以使用hamcest了,
import static org.hamcrest.Matchers.*;
2,hamcrest的一些使用方法
assertThat( n, allOf( greaterThan(1), lessThan(15) ) );比较n值即比1大,又比15小
assertThat( n, anyOf( greaterThan(16), lessThan(8) ) );满足其中一个任何条件
assertThat( n, anything() );什么值都能测试通过
assertThat( str, is( "asd" ) );字符串是
assertThat( str, not( "das" ) );字符串不是
assertThat( str, containsString( "dsa" ) );字符串包含
assertThat( str, endsWith("we" ) ); 字符串结尾
assertThat( str, startsWith( "ads" ) ); 字符串开始
assertThat( n, equalTo( nExpected ) ); 字符串比较
assertThat( str, equalToIgnoringCase( "dasd" ) ); 字符串忽略大小写是否相等
assertThat( str, equalToIgnoringWhiteSpace( "sda" ) );字符串忽略空格是否相等
assertThat( d, closeTo( 3.0, 0.3 ) );d是否接近3.0误差不超过0.3
assertThat( d, greaterThan(3.0) );d是否大于3.0
assertThat( d, lessThan (10.0) );小于
assertThat( d, greaterThanOrEqualTo (5.0) );大于等于
assertThat( d, lessThanOrEqualTo (16.0) );小于等于
assertThat( map, hasEntry( "sad", "sdas" ) );map有没有这个key对于的value
assertThat( iterable, hasItem ( "asd" ) );map有没有这个具体的对象
assertThat( map, hasKey ( "ds" ) );map有没有这个key
assertThat( map, hasValue ( "sad" ) );map有没有这个value
assertTrue( boolean );
3,测试类每个方法上面要加@Test,表明这个类为测试类。这个测试类的一场可以这样表示
@Test(expected=XXException.class),限制方法执行时间(timeout=xxx),单位是毫秒,两个测试异常可以用(,)同时使用
4,其他一下测试@
@Ignore: 被忽略的测试方法
@Before: 每一个测试方法之前运行
@After: 每一个测试方法之后运行
@BeforeClass: 所有测试开始之前运行
@AfterClass: 所有测试结束之后运行
测试类前面要导入
import org.junit.Test;
import static org.junit.Assert.*;
import static org.hamcrest.Matchers.*;
Failure和Error
Failure是指测试失败
Error是指测试程序本身出错
JUnit4 Annotation
@Test: 测试方法
(expected=XXException.class)
(timeout=xxx)
@Ignore: 被忽略的测试方法
@Before: 每一个测试方法之前运行
@After: 每一个测试方法之后运行
@BeforeClass: 所有测试开始之前运行 //必须定义为static方法
@AfterClass: 所有测试结束之后运行 //必须定义为static方法

猜你喜欢

转载自yz-miaomiao.iteye.com/blog/1163392