JUnit4测试框架

JUnit4测试框架

    在软件测试领域有很多的测试框架,比如JUnit、TestNG等,但是最著名的则是JUnit。在这个测试框架中有一句经典的话:keeps the bar green to keeps the code clean!以下介绍整个框架的入门。

新建和命名规则

    我们可以“new--JUnitTest Case”来新建一个JUnit测试类,如下:


红色部分可以确定要测试的类。

我们对已要测试的类的命名为:类名+Test,而类中的方法命名为test+方法名,方法名的首写字母一般为小写,这个就要改成大写,比如:

类名:User --> UserTest

方法名:add --> TestAdd

放弃旧的断言,使用hamcrest断言

    在以前的断言中,我们使用junit提供的方法。但是现在我们只是用assertThat一个方法来代替其他所有的断言方法,但是需要引入hamcrest包。

3.示例

a)assertThat( n, allOf( greaterThan(1),lessThan(15) ) );

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

 assertThat( n, anything() );

 assertThat( str, is( "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" ) );

 assertThat( str, equalToIgnoringWhiteSpace( "bjsxt" ) );

c)assertThat( d, closeTo( 3.0, 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" ) );

 assertThat( iterable, hasItem ( "bjsxt" ) );

 assertThat( map, hasKey ( "bjsxt" ) );

 assertThat( map, hasValue ( "bjsxt" ) );

JUnit4 Annotation

1.@Test: 测试方法

  a)(expected=XXException.class)

  这个是如果方法要测试抛出的异常是否是期望的异常。

  b)(timeout=xxx)

  这个是测试程序运行效率的,是否是在规定的时间内完成的。

2.@Ignore: 被忽略的测试方法

3.@Before: 每一个测试方法之前运行

4.@After: 每一个测试方法之后运行

5.@BeforeClass: 所有测试开始之前运行

6.@AfterClass: 所有测试结束之后运行

Failure和Error

1.Failure是指测试失败

2.Error是指测试程序本身出错

猜你喜欢

转载自blog.csdn.net/crown_0726/article/details/47667933