JUnit 用法
来源:互联网 发布:淘宝好吃的辅食排行榜 编辑:程序博客网 时间:2024/05/16 10:27
什么是单元测试
写了个类,要给别人用,会不会有bug?怎么办?测试一下。
用main方法测试好不好?不好!
1. 不能一起运行!
2. 大多数情况下需要人为的观察输出确定是否正确
为什么要进行单元测试
重用测试,应付将来的实现的变化。
提高士气,明确知道我的东西是没问题的。
JUnit4 HelloWorld
1. new project
2. 建立类
3. 建立testcase
放弃旧的断言,使用hamcrest断言
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" ) );
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" ) );
Failure和Error
1. Failure是指测试失败
2. Error是指测试程序本身出错
JUnit4 Annotation
1. @Test: 测试方法
a) (expected=XXException.class)
b) (timeout=xxx)
2. @Ignore: 被忽略的测试方法
3. @Before: 每一个测试方法之前运行
4. @After: 每一个测试方法之后运行
5. @BeforeClass: 所有测试开始之前运行
6. @AfterClass: 所有测试结束之后运行
运行多个测试
注意
1. 遵守约定,比如:
a) 类放在test包中
b) 类名用XXXTest结尾
c) 方法用testMethod命名
其他框架
TestNG
- JUnit 用法
- junit用法
- JUNIT的用法
- 【JUnit】EasyMock用法总结
- Junit单元测试用法
- JUNIT的用法笔记
- Junit测试基本用法
- Junit中注解用法
- Junit基础用法
- JUnit 单元测试基本用法
- JUnit基本用法
- junit用法笔记
- junit基本用法
- JUnit基础用法
- myEclipse中junit的用法
- JUnit 4的基本用法
- BeanUtils和Junit的用法
- Junit的基本用法 更多选项
- 黑马程序员_7k面试题_交通灯管理
- Zygote进程【2】——Zygote的分裂
- 转载:MAVEN常用命令
- 安卓学习之路_20140425_ Gallery、onTouch点击事件、SurfaceView
- 九度题目1529:棋盘寻宝
- JUnit 用法
- jdk命令行工具(jps+jstat+jinfo+jmap+jstack)
- getJson+ashx实现数据交互(入门级,c#)
- 或许,我只是想一直爱你
- (程序员)面试题的构成和分类
- iOS检查汉字输入的方法集
- windows sdk编程系列文章 ---- 多文档界面
- 如何学习java?
- Delphi通过机器码获得注册码的完整方案