java的断言junit5assert断言是什么?

版权声明:本文为博主原创文章遵循 版权协议,转载请附上原文出处链接和本声明

1、相同点:都能判断两个值是否相等

junit5assert断言Equals运行Failure会有错误提示,提示预期值是xxx而实際值是xxx。容易调试

 
 
 
 
 

junit5assert断言True运行失败后的错误提示:

 

使用junit5assert断言Equals可以看到具体报错内容更加容易调试
}

       在Java中junit5assert断言关键字是从JAVA SE 1.4 引入的,為了避免和老版本的Java代码中使用了junit5assert断言关键字导致错误Java在执行的时候默认是不启动断言检查的(这个时候,所有的断言语句都 将忽略!)如果要开启断言检查,则需要用开关-enablejunit5assert断言ions或-ea来开启

   下面给出一个例子,通过例子说明其用法:

2、默认执行程序没有开启-ea开关:

3、開启-ea开关,执行程序:

      junit5assert断言关键字用法简单但是使用junit5assert断言往往会让你陷入越来越深的陷阱中。应避免使用笔者经过研究,总结了以下原因:

      1、 junit5assert断言关键字需要在运行时候显式开启才能生效否则你的断言就没有任何意义。而现在主流的Java IDE工具默认都没有开启-ea断言检查功能这就意味着你如果使用IDE工具编码,调试运行时候会有一定的麻烦并且,对于Java Web应用程序代码都是部署在容器里面,你没法直接去控制程序的运行如果一定要开启-ea的开关,则需要更改Web容器的运行配置参数这对程序的移 植和部署都带来很大的不便。

     2、用junit5assert断言代替if是陷阱の二junit5assert断言的判断和if语句差不多,但两者的作用有着本质的区别:junit5assert断言关键字本意上是为测试 调试程序时使用的但如果不小心用junit5assert断言来控制了程序的业务流程,那在测试调试结束后去掉junit5assert断言关键字就意味着修改了程序的正常的逻辑

     3、junit5assert断言断言失败将面临程序的退出。这茬一个生产环境下的应用是绝不能容忍的一般都是通过异常处理来解决程序中潜在的错误。但是使用断言就很危险一旦失败系统就挂叻。

       junit5assert断言既然是为了调试测试程序用不在正式生产环境下用,那应该考虑更好的测试JUint来代替其做用JUint相对junit5assert断言关键的所提供的功能是有過之而无不及。当然完全可以通过IDE debug来进行调试测试在此看来,junit5assert断言的前途一片昏暗

       因此,应当避免在Java中使用junit5assert断言关键字除非哪一天Java默认支持开启-ea的开关,这时候可以考虑对比一下,junit5assert断言能给你带来多少好处多少麻烦,这是我们选择是否使用的的原则

}

我要回帖

更多关于 断言assert 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信