JUnit 单元测试中的常用断言

前言

一直以来没有专门了解过JUnit单元测试,直到最近谷歌IO大会上将Kotlin作为Google的官方语言后,自己从Kotlin官网Done下来kotlin_koans准备自己来练习一把熟悉下这门语言,谁知道当自己运行第一个test的时候就尴尬了,报错了。网上查了好久这个报错,也没有弄太明白,后来才反应过来,这里是用的JUnit测试啊。我对它还不了解,索性还是先来把核心问题给弄懂吧,先瞅瞅这个单元测试总要用到的断言(assert)吧。

简介

JUnit为我们提供了一些辅助的函数,用来帮助我们来判断被测试的方法是否如我们预期的效果一样正常执行。这些辅助函数被称之为断言。

常用断言

1、assertEquals

assertEquals(Object expected, Object actual)

assertEquals(String message, Object expected, Object actual)

String message: 可选参数,将在发生错误时报告这个消息
Object expected: 期望值,一般为用户指定的内容
Object actual: 被测试的代码实际返回的结果

当expected(期望值)和actual(实际值)为 float 或者 double 类型时,还可以有另一个参数 delta:

例: assertEquals(String message, float expected, float actual, float delta)

delta 这个参数为误差参数,表示如果 expected 和 actual 之间的差值在 delta 范围之内则认为该断言的结果是正确的。

2、 assertTrue 与 assertFalse

assertTrue(boolean condition)

assertTrue(String message, boolean condition)

String message: 可选参数,将在发生错误时报告这个消息
boolean condition:待验证的 Boolean 类型值

assertTrue 该断言用来验证给定的布尔型值是否为真,如果结果为假,则验证失败;
相反,assertFalse 用来验证给定的布尔型值是否为假,如果结果为真,则验证失败。

3、assertNull 与 assertNotNull

assertNull(Object object)

assertNull(String message, Object object)

String message: 可选参数,将会在发生错误时报告这个消息
Object object: 待验证是否为 Null 的对象

assertNull 该断言用来验证给定的对象是否为 Null ,如果给定对象为 非Null,则验证失败。
相反,assertNotNull 用来验证给定的对象是否为 非Null,如果为 Null,则验证失败。

4、assertSame 与 assertNotSame

assertSame(Object expected, Object actual)

assertSame(String message, Object expected, Object actual)

String message: 可选参数,将会在发生错误时报告这个消息
Object expected:期望值
Object actual:被测试代码返回的实际值

assertSame 该断言用来验证 expected 和 actual 的引用是否为同一个对象的引用,如果不是同一引用,则验证失败。
相反,assertNotSame 用来验证 expected 和 actual 的引用是否为不同对象的引用,如果为同一对象引用,则验证失败。

5、Fail

Fail()

Fail(String message)

String message是个可选参数,假如提供,将会在发生错误时报告这个消息。

该断言会使测试立即失败,通常用在测试不能达到的分支上(如异常)。

本人能力有限,如果此博文中有哪里讲得让人难以理解,欢迎留言交流,若有讲解错的地方欢迎指出,大家互相学期,共同进步!

  • 5
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值