JUnit4
来源:互联网 发布:网络最火尴舞视频 编辑:程序博客网 时间:2024/06/18 00:00
JUnit4应该考虑使用新的断言assertThat()方法。
注:要引入hamcrest
1、hamcrest-core-1.3.0RC2.jar和hamcrest-library-1.3.0RC2.jar。
2、把MyEclipse(Eclipse)中自动生成的JUnit4相关的包去掉,否则会报classLoader相关的错误。
删除IDE自动生成的jar包:
什么是单元测试
写了个类,要给别人用,会不会有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:所有测试结束之后运行
注:@before:在执行某些测试方法时,需要打开某些『文件』,@after:在执行完某些测试方式时,需要关闭某些东东,如对文件流操作。
所有类初始化之前执行@beforeClass,所有类的测试方法结束后执行@afterClass,类初始化之前只能执行静态(static)方法;在搭环境时,@beforeClass中建立数据库的连接,@afterClass关闭对数据库的连接。@beforeClass和@afterClass主要用在写测试时,需要耗时间的资源和搭载比较耗时间的环境时用。
@before是针对方法的,@beforeClass是针对类的。
运行多个测试
注意
1. 遵守约定,比如:
a) 类放在test包中
b) 类名用XXXTest结尾
c) 方法用testMethod命名
其他框架
TestNG
最后:感谢bjsxt免费视频的公布。
- JUnit4
- JUnit4
- junit4
- junit4
- JUnit4
- junit4
- JUnit4
- JUNIT4
- Junit4
- JUnit4
- junit4
- Junit4
- Junit4
- Junit4
- JUnit4
- JUnit4
- junit4
- JUnit4
- 有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数), 凡报到3的人退出圈子,问最后留下 的是原来第几号的那位。
- Android ListView添加标头 联系人
- 【小牛分享】- 3D标签云
- GIS学习笔记之西安80转CGCS2000
- UI 炫技要不得!设计师别求花俏,简单明了才最重要
- JUnit4
- Linux Readingpackagelists Error! 解决办法
- IONIC安装部署入门教程
- 有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数), 凡报到3的人退出圈子,问最后留下 的是原来第几号的那位。
- URAL 1003 Parity(并查集)
- 知识总结5-6章
- 关于指纹加密算法_MD5加密
- Ubuntu14.04下安装Hadoop2.4.0 (单机模式)
- 堆和栈的区别