Idea执行assert false未生效问题处理

Idea执行assert false未生效问题处理问题背景在某个方法里添加了 assertfalse 来主动抛出异常 但是很奇怪的时 执行到这段代码却没有堆栈抛出 测试 assertfalsep amos learn util importorg junit Test publicclassA Testpublicvo

问题背景

在某个方法里添加了assert false来主动抛出异常,但是很奇怪的时,执行到这段代码却没有堆栈抛出。

测试assert false

package com.amos.learn.util; import org.junit.Test; public class AssertTest { 
    @Test public void testAssert() { 
    assert false; System.out.println("junit"); } public static void main(String[] args) { 
    assert false; System.out.println("main"); } } 

执行testAssert方法

执行main方法

奇怪的是,assert false;在main方法里竟然没有生效。

解决问题

非常感谢《XiufengWu – java使用assert断言时不起作用的解决办法 》

对比两次java执行命令

idea内点击run的时候,Run面板可以看到各自的java执行命令

junit

“C:\Program Files\Java\jdk1.8.0_171\bin\java.exe” -ea -Didea.test.cyclic.buffer.size= “此处省略编码/代理/jar包等等” com.intellij.rt.execution.junit.JUnitStarter -ideVersion5 -junit4 com.amos.learn.util.AssertTest,testAssert

main

“C:\Program Files\Java\jdk1.8.0_171\bin\java.exe” -Didea.test.cyclic.buffer.size= “此处省略编码/代理/jar包等等” com.intellij.rt.execution.junit.JUnitStarter -ideVersion5 -junit4 com.amos.learn.util.AssertTest

两次执行,junit有加入-ea选项,这个是什么呢 ?往下看:

打开cmd面板,输入java -help

可以看到有这么一段命令解释:

-ea[: …|:

]

-enableassertions[: …|:

]

按指定的粒度启用断言
-da[: …|:

]

-disableassertions[: …|:

]

禁用具有指定粒度的断言
-esa | -enablesystemassertions
启用系统断言
-dsa | -disablesystemassertions
禁用系统断言























jvm在执行class文件的时候,默认是没有启动指定粒度/系统断言的。所以如果想在非@Test方法(或着其他断言方法内)启动断言,得在jvm命令里添加上-ea

IDEA解决方式

既然知道问题的根源,那么我们只需要跟着步骤走即可。

打开IDEA,主菜单RUN -> Edit configurations -> VM options:添加-ea,问题搞定。

本章完。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/178330.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月26日 下午5:31
下一篇 2026年3月26日 下午5:32


相关推荐

  • goland2020 激活码_通用破解码

    goland2020 激活码_通用破解码,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月16日
    423
  • IDEA安装插件的两种方式

    IDEA安装插件的两种方式1.IDEA中在线安装,如图所示2.有的插件下载需要VPN,导致下载很慢,我们可以通过官网下载安装包,通过本地安装包进行安装

    2022年6月1日
    86
  • Idea激活码最新教程2024.3.2.1版本,永久有效激活码,亲测可用,记得收藏

    Idea激活码最新教程2024.3.2.1版本,永久有效激活码,亲测可用,记得收藏Idea 激活码教程永久有效 2024 3 2 1 激活码教程 Windows 版永久激活 持续更新 Idea 激活码 2024 3 2 1 成功激活

    2025年5月31日
    5
  • mac打开idea无反应_idea安装完打不开

    mac打开idea无反应_idea安装完打不开前提纪要如果你是因为修改了idea.vmoptions配置文件后重启打不开请看此方法若不是请勿浪费时间首先我们找错误的方法找到访达—>应用程序—->找到你要打开的idea右键—->选择显示包内容—->Contents—->MacOS—->idea打开会跳出黑窗口请寻找报错信息每个人的不一样我的是说我的jdk版本信息对不上回想一下昨天改了配置文件的垃圾回收器可能改错了首先改这个目录的idea.vmop.

    2022年8月30日
    7
  • phpstrom激活码2021_在线激活

    (phpstrom激活码2021)JetBrains旗下有多款编译器工具(如:IntelliJ、WebStorm、PyCharm等)在各编程领域几乎都占据了垄断地位。建立在开源IntelliJ平台之上,过去15年以来,JetBrains一直在不断发展和完善这个平台。这个平台可以针对您的开发工作流进行微调并且能够提供…

    2022年3月28日
    88
  • phpstorm 激活_在线激活

    (phpstorm 激活)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月28日
    111

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号