资讯专栏INFORMATION COLUMN

assertNotNull()

jas0n / 1980人阅读

摘要:例如购物项选择必须大于这样可以检测传入的参数是否符合要求,当这些断言方法在入参不满足要求时就会抛出。断言常用的方法该函数的意思是传入的必须不能为空。与方法断言规则相反的方法是,它要求入参一定是。

2019年2月17日 在一本书上看到这段代码,很好奇是什么意思? Assert:断言机制:

测试代码或者调试程序时,总会做出一些假设,断言就是用于在代码中捕捉这些假设。当要判断一个方法传入的参数时,我们就可以使用断言。

例如:

public Order create(Cart cart, Receiver receiver, PaymentMethod paymentMethod, ShippingMethod shippingMethod, 
BoxMethod boxMethod, CouponCode couponCode, boolean isInvoice) {
    Assert.notNull(cart);
    Assert.notEmpty(cart.getCartItems());
    Assert.isTrue(cart.checkedSize()>0, "购物项选择必须大于0");
    Assert.notNull(receiver);
    Assert.notNull(paymentMethod);
    Assert.notNull(shippingMethod);

}

这样可以检测传入的参数是否符合要求,当这些断言方法在入参不满足要求时就会抛出 IllegalArgumentException。

Assert.notNULL()
断言常用的方法
notNull(Object object) 

notNull(Object object, String message) 该函数的意思是传入的object必须不能为空。如果为空就抛出异常。

与 notNull() 方法断言规则相反的方法是 isNull(Object object)/isNull(Object object, String message),它要求入参一定是 null。

如果不是,则会报错。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/73715.html

相关文章

  • 微信支付SDK-两行代码解决支付

    摘要:背景让使用微信支付的朋友最快速度接入微信支付核心两行代码解决微信支付提供的各种服务开箱即用可扩展性超强只需根据服务的上下行协议定义协议类后放入工厂即可获取调用结果架构图项目源代码源码地址目前支持的服务及调用示例所有服务在单元测试类中均已测试 背景 让使用微信支付的朋友最快速度接入微信支付. 核心 两行代码解决微信支付提供的各种服务, 开箱即用, 可扩展性超强(只需根据服务的上下行协议定...

    2501207950 评论0 收藏0
  • [翻译]Play框架1.2.7版本教程(2) - 数据模型的首次迭代

    摘要:数据模型的首次迭代接下来我们要开始完成我们的博客引擎的模型部分。一个普遍的选择是使用关系型数据库。不要认为生成的成员变量是函数变量,其实它是技术变量。当你在中运行应用时,会自动切换到框架并加载对应的。再次运行测试并检查是否一切安好。 数据模型的首次迭代 接下来我们要开始完成我们的博客引擎的模型部分。 JPA入门 模型层是一个Play应用的核心(对于其他Web框架也同样成立)。它是...

    charles_paul 评论0 收藏0
  • Spring、Spring Boot和TestNG测试指南 - 测试@Configuration

    Github地址 在Spring引入Java Config机制之后,我们会越来越多的使用@Configuration来注册Bean,并且Spring Boot更广泛地使用了这一机制,其提供的大量Auto Configuration大大简化了配置工作。那么问题来了,如何确保@Configuration和Auto Configuration按照预期运行呢,是否正确地注册了Bean呢?本章举例测试@Co...

    _DangJin 评论0 收藏0
  • springboot_database项目介绍

    摘要:操作操作对象设置缓存时间有效时间等待等待设置为的时候后面可能取到值,的过期时间有延迟注意操作对象时对象需要实现序列化接口两者操作互不影响生成为生称为数据库文件相关相关相关相关相关相关相关相关相关相关相关相关 springboot_database springboot1.5.7集成mybatis、jpa、redis、mongodb,对不同数据库进行操作的实例项目代码获取:https:/...

    tracymac7 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<