Java中的断言 Assert

今天正好遇到了,就记一下

一.作用:

用与编写单元测试

二.assert 关键字

assert 理论上和 if类似, 但是assert 仅仅用于测试, 不能用于业务

如果发现断言无效, 则可能时ide没配置 ?

需要配置VM参数

  • eclipse:
    1084504-20190402143014733-177640892.jpg
    1084504-20190402143021526-974143593.jpg

  • idea:
    1084504-20190402143141172-875364133.jpg
    1084504-20190402143149454-943254756.jpg

三.JUnit 断言

几个方法:

  1. void assertEquals(boolean expected, boolean actual)
    检查两个变量或者等式是否平衡
  2. void assertTrue(boolean expected, boolean actual)
    检查条件为真
  3. void assertFalse(boolean condition)
    检查条件为假
  4. void assertNotNull(Object object)
    检查对象不为空
  5. void assertNull(Object object)
    检查对象为空
  6. void assertSame(boolean condition)
    assertSame() 方法检查两个相关对象是否指向同一个对象
  7. void assertNotSame(boolean condition)
    assertNotSame() 方法检查两个相关对象是否不指向同一个对象
  8. void assertArrayEquals(expectedArray, resultArray)
    assertArrayEquals() 方法检查两个数组是否相等
  • 具体可以参考极客学院wiki:http://wiki.jikexueyuan.com/project/junit/using-assertion.html

    四、使用断言

    1.可以在预计正常情况下程序不会到达的地方放置断言 :assert false
    2.断言可以用于检查传递给私有方法的参数。(对于公有方法,因为是提供给外部的接口,所以必须在方法中有相应的参数检验才能保证代码的健壮性)
    3.使用断言测试方法执行的前置条件和后置条件
    4.使用断言检查类的不变状态,确保任何情况下,某个变量的状态必须满足。(如age属性应大于0小于某个合适值)
    不用断言
    断言语句不是永远会执行,可以屏蔽也可以启用
    因此:
    1.不要使用断言作为公共方法的参数检查,公共方法的参数永远都要执行
    2.断言语句不可以有任何边界效应,不要使用断言语句去修改变量和改变方法的返回值.

转载于:https://www.cnblogs.com/52liming/p/7496361.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值