JUnit单元测试入门必看篇

网友投稿 345 2023-03-14


JUnit单元测试入门必看篇

什么是单元测试

写了个类,要给别RjGQz人用,会不会有bug?怎么办?测试一下。

用main方法测试好不好?不好!

不能一起运行!

大多数情况下需要人为的观察输出确定是否正确

为什么要进行单元测试

重用测试,应付将来的实现的变化。

提高士气,明确知道我的东西是没问题的。

JUnit4 HelloWorld

需要导入JUnit和hamcrest包

new project

建立类

建立testcase

assertThat

使用hamcrest的匹配方法

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

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" ) );

ahttp://ssertThat( 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, lessThanOrEquaRjGQzlTo (16.0) );

d)

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

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

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

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

Failure和Error

Failure是指测试失败

Error是指测试程序本身出错

JUnit4 Annotation

@Test: 测试方法

a)   (expected=XXException.class)

b)   (timeout=xxx)

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

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

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

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

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

运行多个测试

注意

遵守约定,比如:

a) 类放在test包中

b) 类名用XXXTest结尾

c) 方法用testMethod命名

其他框架

TestNG


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:路由器输入管理员密码(路由器输入管理员密码怎么设置)
下一篇:ZooKeeper Java API编程实例分析
相关文章

 发表评论

暂时没有评论,来抢沙发吧~