学习junit

相关概念
  1. 黑盒测试:一个黑盒测试不知道系统内部的状态与行为。测试仅仅依赖于系统外部接口来验证正确性。我们并不知道系统内部结构以及系统是如何运行的。我们需要知道的只是系统的功能输入,系统会产生预期的输出。
  2. 白盒测试:把测试对象看作一个打开的盒子,程序内部的逻辑结构和其他信息对测试人员是公开的。我们会使用实现具体知识来创建测试并驱动测试进程。我们不仅需要了解一个组件的实现,并且需要了解它是如何与其他组件交互的。
  3. 回归测试:软件或环境的修复或更正后的“再测试”,自动测试工具对这类测试尤其有用。
  4. 单元测试:是最小粒度的测试,以测试某个功能或代码块。一般由程序员来做,因为它需要知道内部程序设计和编码的细节。
  5. JUnit:是一个开发源代码的Java测试框架,用于编写和运行可重复的测试。他是用于单元测试框架体系xUnit的一个实例(用于java语言)。主要用于白盒测试,回归测试。
软件测试的4中类型
  • 集成测试
  • 功能测试
  • 压力与负荷测试
  • 验收测试
单元测试的3种类型
  • 逻辑单元测试:这种单元测试主要针对一个单独的方法来检查代码,可以通过mock object或者stub来控制某个特定的测试方法的边界。
  • 集成单元测试:这种单元测试主要用来测试真是环境中不同组件之间的相互作用。
  • 功能单元测试:这种单元测试已经超出集成单元测试的边界,目的是为了确认一个刺激响应。
JUnit的历史
JUnit是一个Java语言的单元测试框架。
它由Kent Beck和Erich Gamma建立,逐渐成为源于Kent Beck的
sUnit的xUnit家族中最为成功的一个。
 JUnit有它自己的JUnit扩展生态圈。多数Java的开发环境都已经
集成了JUnit作为单元测试的工具。
单元测试的定义
单元测试检查一个独立的工作单元的行为。
在Java应用程序中,独立工作单元经常是一个独立方法。
相比之下,集成测试和验收测试检查的是各种组件如何交互。
一个工作单元就是一项任务,不直接依赖于其他任何任务的完成。
单元测试框架应该遵守的三大规则
  • 每个单元测试必须独立于其他所有单元测试而运行;
  • 框架应该以单个测试为单位来检测和报告错误;
  • 应该易于定义要运行哪些单元测试
Junit4的常用注解
  • @RunWith:指定测试类使用某个运行器(TestRunner)
  • @Before:初始化方法 对于每一个测试方法都要执行一次
  • @After:释放资源 对于每一个测试方法都要执行一次
  • @Test:测试方法,在这里可以测试期望异常和超时时间
  • @Ignore :忽略的测试方法
  • @BeforeClass :针对所有测试,只执行一次,且必须为static void
  • @AfterClass :针对所有测试,只执行一次,且必须为static void
  • @Parameters : 指定测试类的测试数据集合
  • @Rule : 允许灵活添加或重新定义测试类中的每个测试方法的行为
  • @FixMethodOrder : 指定测试方法的执行顺序
  • @SuiteClasses : 设置Suite包含的测试类集合

ps:一些注解的执行顺序

  1. 单元测试用例执行顺序为 : @BeforeClass -> @Before -> @Test -> @After -> @AfterClass
  2. 单个测试方法的调用顺序为: @Before -> @Test -> @After
Junit中常用的断言
assertEquals(a,b)
测试a是否等于b(a和b是原始类型数值(primitive value)或者必须为实现比较而具有equal方法)

assertTrue(a)
测试a是否为true(真),a是一个Boolean数值。

assertFalse(a)
测试a是否为false(假),a是一个Boolean数值。

assertNotNull(a)
测试a是否非空,a是一个对象或者null。

assertNull(a)
测试a是否为null,a是一个对象或者null。

assertNotSame(a,b)
测试a和b是否没有都引用同一个对象。

assertSame(a,b)
测试a和b是否都引用同一个对象。
实例 参数化测试

测试向量的加法

  1. 向量类
    输入图片说明
  2. 计算器类
    输入图片说明输入图片说明
  3. 测试类
  • 创建环境
    输入图片说明
  • 有参的构造方法
    输入图片说明
  • @Parameters为测试方法传递参数 输入图片说明
  • 测试方法
    输入图片说明

转载于:https://my.oschina.net/u/3292411/blog/847331

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值