使用JUnit进行单元测试

1.JUint简介
1.JUnit是一个开放的源代码的JAVA测试框架,用语编写和运行可重复的测试;
2.JUnit测试是程序员测试,所谓的白盒测试,是一个Java语言单元测试框架,多数Java的开发环境都已集成了JUnit作为单元测试的工具;
3.JUnit在极限编程和重构中被极力推荐使用,因为在实现自动化单元测试的情况下可以大大的提高开发效率;
4.每编写完一个函数之后,都应该对这个函数的方方面面进行测试,这样的测试我们称之为单元测试。
在编写大型程序的时候,需要写成千上万个方法或者函数,也许我们在程序中只用到该函数的一小部分功能,并且经过调试可以确定,这一小部分功能是正确的。但是,我们同时应该确保每一个函数都完全正确,因为如果我们今后对程序扩展,用到某个函数的其他功能,而这个功能有bug的话,那绝对是件非常郁闷的事

使用测试注解的基本知识
@Test注解
用于修饰测试方法,表示要对被测试类的某个或者某些方法进行测试;
@Test(timeout=xxx)注解
xxx表示时间,以ms为单位:
一般称为限时测试或者超时测试,用于设置当前测试方法在一定时间内运行完,否则返回错误。
对于那些逻辑很复杂,循环嵌套比较深的程序,很有可能出现死循环,因此一定要采取一些预防措施,限时测试是一个很好的解决方案,给测试函数或方法设定一个执行时间,超过这个时间,程序就会被系统强行终止,并且系统还会汇报该函数结束的原因是超时,这样就可以发现这些bug了。

@Ignore(不理)注解

  1. @Ingore注解用于修饰测试方法,表示忽略测试用例;
  2. 其含义是“某些方法尚未完成,暂不参与此次测试”。这样的话测试结果就会提示你有几个测试被忽略,而不是失败。一旦你完成了相应的函数,只需要把@Ignore标注删除,就可以正常测试。

@Parameters注解

  1. 用于修饰产生数据集合的方法,用于参数化
  2. 测试时,可能需要测试大量不同的路径,从而要使用大量的数据,使用@Parameters注解只需要编写一个测试代码即可众多数据进行多次测试。

@RunWith注解

  1. 用于指定一个测试运行器,@RunWith用来修饰类,而不能修饰函数;
  2. 只要对一个类指定了Runner,那么这个类中的所有函数都被这个Runner来调用;
  3. 常用的内置测试运行器有Parameterized(参数化数据)和Suite(测试集)

JUnit中的方法

断言
  1. 用来断定程序中是否存在缺陷
  2. A: assertEquals(预期结果,实际结果),用来测试期望结果的断言,即测试两个对象是否相等,这个方法使用非常多。
    B:其中错误消息可选,假如提供,将会在发生错误时候报告这个消息,该断言会使测试立即失败,通常用在测试不能达到的分支上(如异常)

setUp和tearDown

  1. 在实际的测试中我们测试某个类的功能是常常要执行一些共同操作,完成以后需要销毁所占用的资源(例如网络连接、数据库连接、关闭打开的文件等),JUnit 提供了setUp方法、tearDown方法、setUpBeforeClass方法、tearDownAfterClass方法

  2. setUp方法
    A:在每个测试方法之前都会运行
    B:主要实现测试前的初始化工作

  3. tearDown方法
    A:在每个测试方法结束以后都会执行
    B:主要实现测试完成后的垃圾回收等工作

  4. setUpAfterClass方法
    在所有测试方法执行后执行

实际使用时候,setUp方法可有@Before注解代替, tearDown方法可用@After注解代替,setUpBeforeClass方法可用@BeforeClass代替,setUpAfterClass方法可用@AfterClass代替

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值