assertTrue(String,Boolean);//String是测试人员自己编写的错误信息提示
assertThat(actual,matcher);//1.actual实际的值2.规则匹配器
assertThat(0,is(1));
assertThat(0,is(not(1)));
//只用一个assertThat方法就可以替代Assert的很多方法
matcher来自org.hamcrest.Matcher
import static org.hamcrest.Matchers.*
assertThat(z,is(8));
//若使用eclipse自带的Junit4的jar包,classLoader可能会报错
//这涉及反射机制
//解决方法:删除eclipse自带的Junit4的jar包,重新引入外部的jar包即可
示例
1. assertThat( n, allOf( greaterThan(1), lessThan(15) ) );//满足所有条件
assertThat( n, anyOf( greaterThan(16), lessThan(8) ) );//满足任一条件
assertThat( n, anything() );//无论n是什么值都可以测试通过
assertThat( str, is( "bjsxt" ) );
assertThat( str, not( "bjxxt" ) );
2. assertThat( str, containsString( "bjsxt" ) );
assertThat( str, endsWith("bjsxt" ) );
assertThat( str, startsWith( "bjsxt" ) );
assertThat( n, equalTo( nExpected ) );
assertThat( str, equalToIgnoringCase( "bjsxt" ) );
assertThat( str, equalToIgnoringWhiteSpace( "bjsxt" ) );
3. assertThat( d, closeTo( 3.0, 0.3 ) );//接近3,正负误差不超过0.3
assertThat( d, greaterThan(3.0) );
assertThat( d, lessThan (10.0) );
assertThat( d, greaterThanOrEqualTo (5.0) );
assertThat( d, lessThanOrEqualTo (16.0) );
4. assertThat( map, hasEntry( "bjsxt", "bjsxt" ) );
assertThat( iterable, hasItem ( "bjsxt" ) );//list或set包不包含这个值
assertThat( map, hasKey ( "bjsxt" ) );
assertThat( map, hasValue ( "bjsxt" ) );
新的断言AssertThat更加自然,符合英文语法习惯
02Junit Assert以及AssertThat
最新推荐文章于 2024-05-21 10:09:47 发布