博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
单元测试
阅读量:6788 次
发布时间:2019-06-26

本文共 1408 字,大约阅读时间需要 4 分钟。

什么是单元测试

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

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

  1. 不能一起运行!
  2. 大多数情况下需要人为的观察输出确定是否正确

为什么要进行单元测试

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

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

JUnit4 HelloWorld

  1. new project
  2. 建立类
  3. 建立testcase
  4. assertThat
  5. 使用hamcrest的匹配方法

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

a) 更自然

  1. 示例

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

FailureError

  1. Failure是指测试失败
  2. Error是指测试程序本身出错
  3. @Test: 测试方法

JUnit4 Annotation

a) (expected=XXException.class)

b) (timeout=xxx)

  1. @Ignore: 被忽略的测试方法
  2. @Before: 每一个测试方法之前运行
  3. @After: 每一个测试方法之后运行
  4. @BeforeClass: 所有测试开始之前运行
  5. @AfterClass: 所有测试结束之后运行
  6. 遵守约定,比如:

运行多个测试

注意

a) 类放在test包中

b) 类名用XXXTest结尾

c) 方法用testMethod命名

其他框架

TestNG

转载地址:http://yibgo.baihongyu.com/

你可能感兴趣的文章
使用Gradle在嵌入式Web容器Jetty中运行Web应用
查看>>
100-98
查看>>
Innodb中的事务隔离级别和锁的关系
查看>>
算法:请找出数组中的某个数,它的左侧数字相加之和等于右边。
查看>>
vi / vim文档编辑器画图详解
查看>>
Oracle基本语句实例代码介绍
查看>>
excel表数据导入到mysql数据库中(自己做的练习保留)
查看>>
bash 函数使用,实现模块化编程
查看>>
LVS实现负载均衡
查看>>
LAMP架构下安装Discuz!论坛
查看>>
shell
查看>>
正则表达式
查看>>
我的友情链接
查看>>
spring MVC的第一次记录
查看>>
js获取 X-X-X N 天后 是 X年X月X日
查看>>
我的友情链接
查看>>
神奇的504 Bad Gateway Timeout
查看>>
mysql安装报错解决一例
查看>>
在服务器上排除问题的头五分钟
查看>>
安装 - FreeBSD + Nginx 环境搭建教程(推荐)
查看>>