junit测试hamcrest断言
来源:互联网 发布:怎么取淘宝店名 编辑:程序博客网 时间:2024/06/05 23:44
什么是单元测试
写了个类,要给别人用,会不会有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测试hamcrest断言
- JUnit中使用Hamcrest测试框架的assertThat断言【4.4新特性】
- JUnit中使用Hamcrest测试框架的assertThat断言【4.4新特性】
- Junit测试,断言
- Junit之断言测试
- 使用Hamcrest增强JUnit的测试能力
- 【软件测试】JUnit、Hamcrest、Eclemma的安装
- junit--hamcrest
- 【Java.JUnit】Spring Test, JUnit, Mockito, Hamcrest 集成 Web 测试
- JUnit测试【1】(断言)
- JUnit学习之hamcrest、testSuite介绍及测试原则
- Spring Test, JUnit, Mockito, Hamcrest 集成 Web 测试
- java junit 软件测试断言用法举例
- junit 测试中各种断言用法
- Java- 断言及程序的测试JUnit
- junit 测试中各种断言用法
- junit测试assert各种断言用法
- java之断言、测试(JUnit)与调试
- 转帖:java框架简介
- 理查德明白自己做错了事,灰溜溜地躲进了笼子里
- [A-Z a-z 0-9]的ascii码十进制对照表
- Longest Consecutive Sequence
- java设计模式笔记之工厂方法
- junit测试hamcrest断言
- POJ:1862 Stripies
- 黑马程序员-网络编程
- webwork2框架原理
- 日本 我等你
- 百度账号登录测试
- java获取src下的properties文件的值
- hashtable和hashmap的遍历
- UITableView点击进入下一页 push页返回取消选中状态