Junit 单元测试 assertThat
来源:互联网 发布:个人网站域名后缀 编辑:程序博客网 时间:2024/06/06 23:55
什么是单元测试
写了个类,要给别人用,会不会有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 单元测试 assertThat
- Junit assertThat
- junit的assertThat
- Junit的AssertThat方法表达式
- 02Junit Assert以及AssertThat
- junit之Matcher,Assert.assertThat
- JUnit学习笔记(1)----AssertThat
- JUnit单元测试
- JUnit 单元测试
- 单元测试JUnit
- Junit单元测试
- Junit单元测试
- junit单元测试
- JUnit单元测试
- Junit单元测试
- JUnit单元测试
- junit单元测试
- Junit单元测试
- 安装SQL SERVER 2008时,提示:服务SQLBrowser启动请求失败
- gettimeofday() -- 获取当前时间(保存在结构体timeval中)
- 在Windows和Linux上连接SSH
- 10069 - Distinct Subsequences(高精度+动态规划)
- [疯狂Android] 《疯狂Android讲义》最后一章案例的部署步骤
- Junit 单元测试 assertThat
- Eclipse使用总结(未完)
- HDU 1425 sort
- JNDI
- 每日学习总结
- android疯狂讲义书中相应内容简介以及Apache ant的安装帮助
- windows核心编程知识点
- SCN FlashBack 闪回常用语句
- Set