`
fatedgar
  • 浏览: 131434 次
  • 性别: Icon_minigender_1
  • 来自: 安徽
社区版块
存档分类
最新评论

assert(断言)杂谈

阅读更多

assertion(断言)是jdk1.4才开始支持的新功能,主要在开发和测试时开启。在软件开发中是一种常用的调试方式,很多开发语言中都支持这种机制。在实现中,assertion就是在程序中的一条语句,它对一个boolean表达式进行检查,一个正确程序必须保证这个boolean表达式的值为true;如果该值为false,说明程序已经处于不正确的状态下,assert将给出警告或退出。一般来说,assertion用于保证程序最基本、关键的正确性。assertion检查通常在开发和测试时开启。为了提高性能,在软件发布后,assertion检查通常是关闭的。

测试:

(在main方法中写入以下代码)

int i=0;
for(i=0;i<5;i++){
   System.out.println(i);
}
--i;
assert i==5;

 在eclipse中运行这段代码发现没什么反应,查询资料才知道eclipse中assert默认是关闭的,开启方法如下:

1.Run > Run Configurations > Arguments页签 > VM arguments文本框中加上断言开启的标志:-enableassertions 或者-ea 就可以了,如果是-da就是关闭assert;
2.在myEclipse中,Windows -> Preferences ->Java ->Installed JREs ->点击正使用的JDK ->Edit ->Default VM Arguments文本框中输入:-ea

 

 

在MyEclipse中发现assert编译不过去,测试了下网络上给的方法发现还是不行,暂未解决。网络上的方法如下:

 

MyEclipse 断言(assert)设置在MyEclipse中启动assert(断言)依次进入在MyEclipse8的菜单项Window -> Preferences -> Java -> Compiler -> Compliance and Classfiles
断言在java的JDK1.4版本中添加进来,JVM默认assertion的功能是关闭的.
这个设置告诉编译器识别和允许断言语句,但是还没有开启断言。
接下来,进入菜单项Window -> Preferences -> Java -> Compiler -> Compliance and Classfiles,并且设置:
Compiler Compliance Level: 1.6
Use default compliance settings: unchecked
Generated .class files compatibility: 1.6
Source compatibility: 1.6
Disallow identifiers called 'assert': Error
最后在Run -> Run... -> Arguments菜单项的VM arguments区域,加上断言开启的标志
-enableassertions 或者-ea 就可以了或命令行编绎执行了

 

 

 

分享到:
评论

相关推荐

    深入探讨C++中的引用和ASSERT断言

    深入探讨C++中的引用和ASSERT断言,对引用和断言的理解会有很大的帮助

    VC中如何使用ASSERT断言

    VC中如何使用ASSERT断言 VC中如何使用ASSERT断言

    python assert的用处示例详解

    使用assert断言是学习python一个非常好的习惯,python assert 断言句语格式及用法很简单。在没完善一个程序之前,我们不知道程序在哪里会出错,与其让它在运行最崩溃,不如在出现错误条件时就崩溃,这时候就需要...

    业务异常提示处理 springboot+Assert(自定义断言)

    使用springboot框架快速搭建,封装自定义断言做业务校验,公共异常处理打印日志, 更简单的业务判断处理

    Java断言(assert)

    可以为Java复杂的测试提供简单的方法!可以加快开发进度

    C语言断言assert讲解

    在讲解之前,我们先来对断言做一个基本的介绍,让大家对断言有一个大致的了解。

    函数重载、assert断言1

    1. 函数名相同 2. 参数的类型不同或参数的个数不同或参数的顺序不同 3. 不考虑返回值与调用约定 4. 同作用域的函数 1. 查找候选函数,查找所有指定名称

    1-assert(断言).pdf

    1-assert(断言).pdf

    Node.js assert断言原理与用法分析

    本文实例讲述了Node.js assert断言原理与用法。分享给大家供大家参考,具体如下: node.js官方API中文版 http://nodeapi.ucdok.com/#/api/assert.html assert 模块主要用于编写程序的单元测试时使用,通过断言可以...

    python3 assert 断言的使用详解 (区别于python2)

    今天小编就为大家分享一篇python3 assert 断言的使用详解 (区别于python2),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

    Python3 assert断言实现原理解析

    主要介绍了Python3 assert断言实现原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    Python断言assert的用法代码解析

    python assert断言是声明布尔值必须为真的判定,如果发生异常就说明表达式为假。 可以理解assert断言语句为raise-if-not,用来测试表示式,其返回值为假,就会触发异常。 assert的语法格式: assert expression 它...

    eclipse如何开启断言assert

    eclipse如何开启断言assert调试,文档详细的讲解了配置的流程。

    Junit测试Void方法

    Junit通常用于那些有明确返回值的方法的测试,而无法对返回值是void类型的方法进行测试,因为Junit的assert断言方法只适用于预期值与实际值的比较,对于void类型的方法,我们无法从它的return语句获得具体的返回值。...

    C语言断言assert的用法.pdf

    C语言断言assert的用法.pdf

Global site tag (gtag.js) - Google Analytics