`
Donald_Draper
  • 浏览: 950336 次
社区版块
存档分类
最新评论

JAVA assert测试

    博客分类:
  • JUC
阅读更多
Java陷阱之assert关键字 :http://lavasoft.blog.51cto.com/62575/43735/
assert的基本用法:http://www.cnblogs.com/wardensky/p/4307848.html
在Java中,assert关键字是从JAVA SE 1.4 引入的,为了避免和老版本的Java代码中使用了assert关键字导致错误,
Java在执行的时候默认是不启动断言检查的(这个时候,所有的断言语句都将忽略!),如果要开启断言检查,
则需要用开关-enableassertions或-ea来开启。
assert关键字语法很简单,有两种用法:

1、assert <boolean表达式>
如果<boolean表达式>为true,则程序继续执行。
如果为false,则程序抛出AssertionError,并终止执行。

2、assert <boolean表达式> : <错误信息表达式>
如果<boolean表达式>为true,则程序继续执行。
如果为false,则程序抛出java.lang.AssertionError,并输入<错误信息表达式>。

测试主类1:
package juc.asserts;
/**
 * 测试断言
 * @author donald
 * 2017年3月3日
 * 上午8:57:56
 */
public class TestAssert {
	public static void main(String[] args) {
	int a = 1;
	assert a < 0;//正确往下执行,否则中断程序
        System.out.println("assert int a value:"+a);
        //断言失败,输出断言表达式的错误信息
        assert a > 0:"assert int a value smaller then 0 is fail.";
        System.out.println("assert int a value smaller then 0 is ok");
        
        
	}
}
控制台输出:
Exception in thread "main" java.lang.AssertionError
	at juc.asserts.TestAssert.main(TestAssert.java:11)


从控制台来看,断言失败,中断程序





测试主类2:
package juc.asserts;
/**
 * 测试断言
 * @author donald
 * 2017年3月3日
 * 上午8:57:56
 */
public class TestAssert {
	public static void main(String[] args) {
	int a = 1;
	assert a > 0;//正确往下执行,否则中断程序
        System.out.println("assert int a value:"+a);
        //断言失败,输出断言表达式的错误信息
        assert a < 0:"assert int a value smaller then 0 is fail.";
        System.out.println("assert int a value smaller then 0 is ok");
        
        
	}
}

控制台输出:
assert int a value:1
Exception in thread "main" java.lang.AssertionError: assert int a value smaller then 0 is fail.
at juc.asserts.TestAssert.main(TestAssert.java:14)

从控制太输出来看,断言失败,输出断言表达式的错误信息。

开启断言检查,用RUN AS 或DEBUG AS 配置VM参数,我用的是Debug如下:




  • 大小: 49.3 KB
0
0
分享到:
评论

相关推荐

    Java断言(assert)

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

    spectre:基于Rspec的Java 8测试框架

    基于Rspec的Java 8测试框架 样品测试 Spectre使用Spec后缀运行所有方法 package org.eck.spec ; import static org.eck.spec.Spectre.describe ; import static org.eck.spec.Spectre.before ; import static org....

    junit-assert-collector:Java库扩展了JUnit的ErrorCollector类,提供了典型的JUnit样式声明方法

    junit-assert-collector 我编写的Java库是为了补充我在Savvis / CenturyLink最初开发的测试框架而开发的测试框架。 该库实质上扩展了JUnit库的org.junit.rules.ErrorCollector类,并且提供了大多数(如果不是全部)...

    camunda-bpm-assert:轻松测试Camunda BPM流程和案例并声明其状态

    Camunda平台声明 使用Camunda Platform Assert可以轻松地以典型的单元测试方法推动BPMN流程和CMMN案例的状态。 只需编写如下代码assertThat (instance) . isWaitingAt( " UserTask_InformCustomer " );assertThat ...

    plausing-assert:基于 AssertJ 的 Java 合理性测试

    Plausing:基于 AssertJ 的 Java 合理性测试 合理性测试提供了一种以与细节无关的方式测试代码的方法。 PojoMappers 的合理性测试 Plausing 假设: 有一种映射方法可以将 SOURCE pojo 转换为 TARGET pojo。 TARGET...

    java2参考大全 中文

    本书全面、系统、循序渐进地讲述了Java语言的基础知识,涵盖了用来编写、编译、测试和调试Java程序以及提高编程技巧所需的全部内容。书中包含了Java 2, 版本1.3中新增的特征,其中最重要的是assert关键字、基于通道...

    JAVA面试题最全集

    在软件开发生命周期中的哪个阶段开始测试? 89.dotnet与J2EE的比较? 90.什么是ActiveX? 91.Java中IDL是什么? 92.ISO9000和CMM是什么?IS09000和CMM(软件能力成熟度模型)认证是国际上通用的软件质量评估方法.CMM的...

    Emergent:RSpec,Cucumber和ScalaTest启发了Java的测试框架

    紧急情况一个受RSpec和Cucumber启发的Java测试框架,其目标是通过表达性测试来帮助实现更好的设计给我看看代码! import com.xdd.Spec ;import static org.junit.Assert.* ;public class CalculatorSpec extends ...

    java面試題集2---找工作的法寶

    1.4新增关键字(语法),用于测试boolean表达式状态,可用于调试程序。 使用方法 assert 表达式&gt;,表示如果表达式为真(true),则下面的语句执行,否则抛出AssertionError。 另外的使用方式assert 表达式&gt;:表达式&gt;,...

    java 面试题 总结

    assertion检查通常在开发和测试时开启。为了提高性能,在软件发布后,assertion检查通常是关闭的。 24、GC是什么? 为什么要有GC?  GC是垃圾收集的意思(Gabage Collection),内存处理是编程人员容易出现问题的地方...

    JSON对比工具介绍(含单元测试对比,接口API响应对比【忽略指定噪声字段key】)

    介绍两个JAVA语言开源的JSON对比工具。 1,对于单元测试对比JSON,可使用文档中第一个工具集。 2,对于API响应JSON数据,需要对比时使用文档中第二个工具集,可以指定忽略噪声字段,比较强大。 不废话:...

    fest-swing-1.2 Java Packets

    FEST-Swing是一个用于Swing GUI应用程序功能测试的java开源类库。支持模拟用户交互( 鼠标操作和键盘输入)。支持JDK中的所有Swing组件。提供简洁、强大的API来创建和维护GUI功能测试。

    编程参考宝典电子书

    assert宏用于为程序增加诊断功能,它可以测试一个条件并可能使程序终止。在执行语句: assert(表达式); 时,如果表达式为0,则在终端显示一条信息: Assertion failed: 0, file 源文件名, line 行号 Abnormal ...

    guitesting-swing:轻松用Java编写GUI测试(用于Swing)

    abego GuiTestingSwing轻松用Java编写GUI测试(用于Swing)概述使用abego GuiTesting Swing库,以与编写“无头” JUnit测试相同的方式为Swing应用程序快速编写GUI测试。GT接口GUITesting Swing通过GT界面提供了...

    整理后java开发全套达内学习笔记(含练习)

    assert (关键字) 断言 [ә'sә:t] ' (java 1.4 之后成为关键字) associate n.关联(同伴,伙伴) [ә'sәuʃieit] attribute n.属性(品质,特征) [ә'tribju:t] boolean (关键字) 逻辑的, 布尔型 call n.v.调用; 呼叫...

    java经典面试题汇总

    6、什么时候用assert 答:assertion(断言)在软件开发中是一种常用的调试方式,很多开发语言中都支持这种机制。在实现中,assertion就是在程序中的一条语句,它对一个boolean表达式进行检查,一个正确程序必须保证这...

    testng-disabled-tests:Java库,可在给定的TestNG项目中收集禁用的TestNG测试

    Java库,允许使用简单注释在给定的TestNG项目中收集禁用的TestNG测试。 常见用法示例: @Listeners(DisabledTestsListener.class) public class InventoryTests { @Test @DisabledTestsCollector(testsPath = "/...

    G-Stack:让你无需写代码就能搞定的自动化验收接口测试,基于Gauge的全栈测试平台

    让您无需编写代码就能搞定的自动化验收/接口测试,基于Gauge的全栈测试平台 要求 Maven 3+ Java 1.8+ 测量 主意 量具插件:量具Java,量具Java,量具Java Maven,量具智能想法,量具html报告 DSL参考 句法 G-Stack...

    JAVA笔试题集锦(1-30)基础部分

    assertion检查通常在开发和测试时开启。为了提高性能, 在软件发布后,assertion检查通常是关闭的 7、String s = new String("xyz");创建了几个String Object 答:两个,一个字符对象,一个字符对象引用对象 8、Math...

Global site tag (gtag.js) - Google Analytics