【读书笔记】Junit实战

Junit实战读书笔记

第一章节

探索Junit:
Junit是1997年Erich Gammay和Kent Beck一同创建的一个简单有效的测试框架,其中Erich Gammay是经典《设计模式》的四大作者之一,而BentBeck是《极限编程》的创造者

安装Junit:直接引入对应的jar包

编写第一个测试:
能够使用main模拟对应的测试case,然后使用System.out的模式进行处理,但是后期项目庞大的时候,就没有办法掌控住对应的局面了,于是有了这样一个框架。能够对输入参数,前期准备、执行测试、测试返回进行断言,对超时,对异常进行全面的处理。针对单一的方法。

运行测试:
使用对应的方法执行

第二章节

  1. 使用核心Junit类
Junit概念 责任
Assert 让你去定义想要测试的条件,当条件成立是,assert保持沉默;单条件不成立的时候,抛出异常
测试 一个以Test注释的方法定义的一个测试。为了运行这份方法,JUnit会创建一个包含类的新实例,然后调用这个被注释的方法
测试类 一个测试类是Test方法的容器
Suite测试集合 suite允许将测试类归类成一组
Runner运行器 Runner类用来运行测试。Junit4是向后兼容的,可以运行Junit3的测试

运行参数化测试:Parameterized(参数化)的测试运行器允许你使用不同的参数去多次允许同一个测试代码。

测试运行器:Junit的测试运行器

目的
org.junit.internal.runners.Junit38ClassRunner 这个运行器包含在当前的JUnit版本中,仅仅是为了向后兼容,他将测试用例作为JUnit3.8的测试用例来启动
org.junit.runner.Junit4 这个运行器将测试用例作为JUnit4的测试用例来启动
org.junit.urnners.Parameterized 这个测试运行器可以使用不同参数来运行相同的测试集
org.junit.runners.Suite Suite是一个包含不同测试的容器,同事Suite也是一个运行器,可以运行一个测试类中的所有以Test注释的方法
  1. 理解Junit的机制

JunitCore facade外观模式(org.junit.runner.JunitCore),他可以运行任何测试运行器,并收集测试结果以及统计信息

设计模式实践:设计模式
facade是一种设计模式,它为子系统的一组接口提供了一个统一的接口,facade定义了一个更高级别的接口,使得子系统更易于使用。你可以使用facade来将一些复杂的对象交互简化成一个单独的接口。
并且能够自定义测试运行器,只要扩展Runner类即可

使用sutie来组合测试类
组合一组测试集合

  1. 理解Junit的生命周期

生命周期
@BeforeClass -> @Before -> @Test -> @After -> @AfterClass -> 结束

第三章节

  1. 实现一个简单的应用程序
    模拟一个网络应用的控制层面的代码,并且模拟测试
  2. 使用Junit测试这个应用程序
  3. 遵循Junit最佳实践
    测试的异常处理
    在Test中能够处理对应的异常,如果抛出对应异常,也算测试通过
    测试超时处理
    在测试方法中设定timeout,如果测试过后,以后不需要进行超时设置,就创造忽略的注解

Junit最佳实践:

  1. 一次只能单元测试一个对象
  2. 选择有意义的测试方法名字
  3. 在assert调用中解释失败的原因
  4. 一个单元测试等于一个Test方法
  5. 测试任何可能失败的事物
  6. 让测试改善代码
  7. 使异常测试更易于阅读
  8. 总是为跳过测试说明原因
原文地址:https://www.cnblogs.com/fly-piglet/p/7401392.html