JUnit学习总结——断言

标签: 未分类 | 发表时间:2012-05-16 14:14 | 作者:qiaoqian
出处:http://qa.taobao.com

JUnit是Java语言的测试框架,用于编写和运行可重复的测试。为了便于确定某些被测试函数是否工作正常,JUnit提供了一些辅助函数,这些函数统称为断言。最近学习JUnit,特将全部JUnit断言整理了一下,方便自己回顾也算是为以后的新人提供一些参考。

 

1. assertTrue 

static public void assertTrue(String message, boolean condition)

static public void assertTrue(boolean condition)

assertTrue验证condition是否为true。若为true则断言成功;若为false则断言失败,提供message时输出message消息。

 

2. assertFalse

static public void assertFalse(String message, boolean condition)

static public void assertFalse(boolean condition)

assertfalse验证condition是否为false。若为false则断言成功;若为true则断言失败,提供message时输出message消息。

 

3. fail

static public void fail(String message)

static public void fail()

fail会使测试立即失败,提供message时输出message消息。

 

4. assertEquals

static public void assertEquals(String message, Object expected, Object actual)

static public void assertEquals(Object expected, Object actual)

static public void assertEquals(String message, long expected, long actual)

static public void assertEquals(long expected, long actual)

assertEquals验证expected和actual是否相等。若相等则断言成功;若不相等则断言失败,提供message时输出message消息。当expected和actual均为null时,assertEquals认为二者相等。

 

static public void assertEquals(String message, double expected, double actual, double delta)

static public void assertEquals(double expected, double actual, double delta)

assertEquals验证双精度数(或单精度数)expected和actual在正误差delta范围内是否相等(Math.abs(expected – actual) <= delta)。若相等则断言成功;若不相等则断言失败,提供message时输出message消息。如果expected值为无穷大,则delta值被忽略。NaN被认为是相等的。

 

5. assertArrayEquals  

public static void assertArrayEquals(String message, Object[] expecteds, Object[] actuals)

public static void assertArrayEquals(Object[] expecteds, Object[] actuals)

public static void assertArrayEquals(String message, byte[] expecteds, byte[] actuals)

public static void assertArrayEquals(byte[] expecteds, byte[] actuals)

public static void assertArrayEquals(String message, char[] expecteds, char[] actuals)

public static void assertArrayEquals(char[] expecteds, char[] actuals)

public static void assertArrayEquals(String message, short[] expecteds, short[] actuals)

public static void assertArrayEquals(short[] expecteds, short[] actuals)

public static void assertArrayEquals(String message, int[] expecteds, int[] actuals)

public static void assertArrayEquals(int[] expecteds, int[] actuals)

public static void assertArrayEquals(String message, long[] expecteds, long[] actuals)

public static void assertArrayEquals(long[] expecteds, long[] actuals)

public static void assertArrayEquals(String message, double[] expecteds, double[] actuals, double delta)

public static void assertArrayEquals(double[] expecteds, double[] actuals, double delta)

public static void assertArrayEquals(String message, float[] expecteds, float[] actuals, float delta)

public static void assertArrayEquals(float[] expecteds, float[] actuals, float delta)

assertArrayEquals验证两个数组expecteds和actuals是否相等。若相等则断言成功;若不相等则断言失败,提供message时输出message消息。当expecteds和actuals均为null时,assertArrayEquals认为二者相等。

 

6. assertNotNull  

static public void assertNotNull(String message, Object object)

static public void assertNotNull(Object object)

assertNotNull验证对象object是否非空。若非空,则断言成功;若为空,则断言失败,提供message时输出message消息。

 

7. assertNull

static public void assertNull(String message, Object object)

static public void assertNull(Object object)

assertNull验证对象object是否为空。若为空,则断言成功;若非空,则断言失败,提供message时输出message消息。

 

8. assertSame

static public void assertSame(String message, Object expected, Object actual)

static public void assertSame(Object expected, Object actual)

assertSame验证expected和actual所引用的是否是同一对象。若相同,则断言成功;若不同,则断言失败,提供message时输出message消息。

 

9. assertNotSame

static public void assertNotSame(String message, Object unexpected, Object actual)

static public void assertNotSame(Object unexpected, Object actual)

assertSame验证unexpected和actual所引用的是否是不同对象。若不同,则断言成功;若相同,则断言失败,提供message时输出message消息。

 

10. assertThat

public static <T> void assertThat(T actual, Matcher<T> matcher)

public static <T> void assertThat(String reason, T actual, Matcher<T> matcher)

assertThat验证actual是否满足matcher给出的条件。若满足则断言成功;若不满足则断言失败,提供reason时输出reason消息。assertThat使用Hamcrest测试框架,结合Hamcrest提供的匹配符,指定想要设置的测试条件。其中actual为需要测试的变量,matcher为使用Hamcrest的匹配符来表达变量actual期望值的声明。

相关 [junit 习总 断言] 推荐:

JUnit学习总结——断言

- - Taobao QA Team
JUnit是Java语言的测试框架,用于编写和运行可重复的测试. 为了便于确定某些被测试函数是否工作正常,JUnit提供了一些辅助函数,这些函数统称为断言. 最近学习JUnit,特将全部JUnit断言整理了一下,方便自己回顾也算是为以后的新人提供一些参考. assertTrue验证condition是否为true.

Spring与junit测试

- - CSDN博客Web前端推荐文章
1.我们知道无论在J2SE还是android中都有junit测试,利用junit能够帮助方便测试代码. 在之前的博客中我也写了一些J2SE的一些junit测试例子,今天对于Spring中junit小小的讨论一下. 这个Spring测试需要的jar包:. 2.Spring和Junit的关系图. 左边的采用传统的方式,即一般的J2SE的方式测试代码,这种情况会有些问题:.

Java 单元测试利器之 Junit

- - 博客园_首页
          因为工作和学习的需要,在代码中查错的时候,第一步就是想知道这个错误具体发生在一个位置,进行一个准确的定位. 而这个定位的工作交给谁来做了呢. 不难猜出也就是这篇博客的主题---Junit. junit是一个开源的框架,也是java这一块的测试工具之一. 想了解详细请上官网,下面用代码来跟大家解释.

利用JUnit和Spring-test对SpringJDBC组件DAO层测试

- - ITeye博客
借着学习Druid连接池的机会,使用的Spring,将知识点联系起来,简单写了一个利用JUnit和Spring-test对SpringJDBC组件DAO层测试的Demo,分类归在Spring中吧. SpringJDBC组件是Spring提供的一个对底层JDBC的封装,扩展了更多更方便的接口,方便我们对数据库的操作.

项目中单元测试容易出现的普遍问题归纳(Junit/Spring/Spring-test/Dubbo/RocketMQ/JAVA)

- - 编程语言 - ITeye博客
   最近公司要求项目在使用maven构建的时候不能跳过test的生命周期,也就是通过mvn test命令需要将整个项目运行起来. 因为之前项目组的成员都是在eclipse中去执行的unit test,在maven对所有模块构建的都是直接-Dmaven.test.skip=true的方式直接跳过UT的.

WEKA学习总结

- - CSDN博客互联网推荐文章
1.      Weka处理的数据表格中,一个横行称为一个实例(Instance),竖行代表一个属性(Arrtibute),数据表格称为一个数据集,在weka看来,呈现了属性之间的一种关系(Relation). 2.      Weka存储数据的格式是ARFF(Attribute-RelationFile Format)文件,这是一种ASCII文本文件.

Hadoop学习总结

- - 开源软件 - ITeye博客
  一个开发和运行处理大规模数据的软件平台,是Appach的一个用java语言实现开源软件框架,实现在大量计算机组成的集群中对海量数据进行分布式计算. Hadoop框架中最核心设计就是:HDFS和MapReduce,HDFS实现存储,而MapReduce实现原理分析处理,这两部分是hadoop的核心.

实习总结之——MyEverything

- chuang - 博客园-首页原创精华区
在PPTV的实习就快要结束了,现在应该来总结一下. 基于 Kinect SDK 做开发. 研究 Everything. 这篇文章主要来介绍我做的第4件事:研究“Everything”软件的技术并自己实现一个demo——MyEverything,什么是Everything. 点击查看Everything的介绍.

hadoop project 学习总结

- - 学着站在巨人的肩膀上
hadoop 项目源自于google的几篇论文. hdfs 提供一个分布式存储,类似于磁盘阵列. 基于一个假设:文件读取操作多,很少改,读文件时总是对一个文件整个顺序读取. 把文件切分成64M的块儿,分开存储,大文件有利于提高磁盘寻道的效率,一次查找大段的读取. 最好的情况下每块儿都在不同的机器上,分散I/O.

RTMP 协议学习总结

- - C++博客-牵着老婆满街逛
RTMP协议是一个互联网TCP/IP五层体系结构中应用层的协议. RTMP协议中基本的数据单元称为消息(Message). 当RTMP协议在互联网中传输数据的时候,消息会被拆分成更小的单元,称为消息块(Chunk). 消息是RTMP协议中基本的数据单元. 不同种类的消息包含不同的Message Type ID,代表不同的功能.