JAVA IDEA 打开assert 设置方式

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

JAVA IDEA 打开assert 设置方式

柠心语冰   2022-11-16 我要评论

JAVA IDEA 打开assert 设置

概念

(此处为借鉴前辈们的讲解)

断言(Assertion)是Java中一条语句,包含一个布尔表达式,当该布尔值为真,程序则被认为是正确的;当布尔值为假,则系统会抛出错误。

断言两种语句形式

(此处依旧为借鉴前辈们的讲解)

assert	Expression1 ;
assert	Expression1 : Expression2 ;`
  • Expression1是一个布尔表达式,作为断言的真假。
  • Expression2是一个有返回值的表达式,用来提供详细的错误信息。

当没有Expression2时,默认抛出没有详细信息的 AssertionError。

JAVA 中的 assert(idea)

在写assert语句以后运行的时候发现并没有按预期的“报错”,多半是因为没有打开idea中的assert

关于怎么打开其实很简单:Run—> Edit Configurations —>AsserTest —>VM options —>输入“-ea”就可以了。

但是!

我在打开我的Edit Configurations时。。。并没有“AsserTest”。于是再迷茫了一秒钟后,我自己创建了“AsserTest”,并成功找到“ADD VM options”,然后再弹出的对应个位置输入了“-ea”

然后就可以正常运行Asser了。

这是相关语句以及最后报错的输出:

(解释一下 “isUp(a)” 是我自己写的小函数,此时返回值为 false)

assert isUp( a ) : "is not up!!" ;

JAVA 关键字 assert

为什么assert 两个完全不相等的对象或者基本类型却不报错,例如图下

assert new Object() == new Object();
assert 1 == 2;

预期的会报错,结果是没有任何反应

究其原因其实是jvm 启动未添加 -ea 参数用来开启断言 一般来说,通过IDE开发工具(IDEA)在执行测试方式时会主动打开 -ea

java -ea ...省略... -<className>

但如果没有使用这些工具将面临比较尴尬的困境, 而且问题比较隐蔽不容易察觉 所以建议避免使用assert执行测试方法,改用Junit Assertions.assert*()执行测试方法

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们