1,使用hamcest时候要先引用包hamcrest-core.jar和hamcrest-library.jar,使用时候,把myeclipse自带引入的junit的包去掉,自己引入最新的junit的jar包,就是可以使用hamcest了,
import static org.hamcrest.Matchers.*;
2,hamcrest的一些使用方法
assertThat( n, allOf( greaterThan(1), lessThan(15) ) );比较n值即比1大,又比15小
assertThat( n, anyOf( greaterThan(16), lessThan(8) ) );满足其中一个任何条件
assertThat( n, anything() );什么值都能测试通过
assertThat( str, is( "asd" ) );字符串是
assertThat( str, not( "das" ) );字符串不是
assertThat( str, containsString( "dsa" ) );字符串包含
assertThat( str, endsWith("we" ) ); 字符串结尾
assertThat( str, startsWith( "ads" ) ); 字符串开始
assertThat( n, equalTo( nExpected ) ); 字符串比较
assertThat( str, equalToIgnoringCase( "dasd" ) ); 字符串忽略大小写是否相等
assertThat( str, equalToIgnoringWhiteSpace( "sda" ) );字符串忽略空格是否相等
assertThat( d, closeTo( 3.0, 0.3 ) );d是否接近3.0误差不超过0.3
assertThat( d, greaterThan(3.0) );d是否大于3.0
assertThat( d, lessThan (10.0) );小于
assertThat( d, greaterThanOrEqualTo (5.0) );大于等于
assertThat( d, lessThanOrEqualTo (16.0) );小于等于
assertThat( map, hasEntry( "sad", "sdas" ) );map有没有这个key对于的value
assertThat( iterable, hasItem ( "asd" ) );map有没有这个具体的对象
assertThat( map, hasKey ( "ds" ) );map有没有这个key
assertThat( map, hasValue ( "sad" ) );map有没有这个value
assertTrue( boolean );
3,测试类每个方法上面要加@Test,表明这个类为测试类。这个测试类的一场可以这样表示
@Test(expected=XXException.class),限制方法执行时间(timeout=xxx),单位是毫秒,两个测试异常可以用(,)同时使用
4,其他一下测试@
@Ignore: 被忽略的测试方法
@Before: 每一个测试方法之前运行
@After: 每一个测试方法之后运行
@BeforeClass: 所有测试开始之前运行
@AfterClass: 所有测试结束之后运行
测试类前面要导入
import org.junit.Test;
import static org.junit.Assert.*;
import static org.hamcrest.Matchers.*;
Failure和Error
Failure是指测试失败
Error是指测试程序本身出错
JUnit4 Annotation
@Test: 测试方法
(expected=XXException.class)
(timeout=xxx)
@Ignore: 被忽略的测试方法
@Before: 每一个测试方法之前运行
@After: 每一个测试方法之后运行
@BeforeClass: 所有测试开始之前运行 //必须定义为static方法
@AfterClass: 所有测试结束之后运行 //必须定义为static方法
分享到:
相关推荐
这个“Junit学习.rar”压缩包显然包含了关于JUnit从3.8到4.9版本的学习资料,包括可能的操作手册、教程文档以及个人的学习笔记。以下是基于这些资源可能涵盖的一些关键知识点: 1. **JUnit基础知识**:了解JUnit的...
### JUnit学习资料知识点解析 #### 一、JUnit概述 **JUnit** 是一款开源的Java测试框架,专门用于编写和运行可重复利用的自动化测试。它最初由Ernst & Young公司的Kent Beck和Erich Gamma开发,自1998年以来一直是...
这篇博客“JUnit学习笔记”可能是博主GreatJone在深入学习JUnit过程中所做的记录和总结,包括了JUnit的基本概念、核心组件、使用方法以及一些高级特性。 首先,JUnit的核心理念是基于断言的测试,即编写特定的测试...
Junit学习笔记,希望有用~~~~~~~~~~~~~~~~~~~~~~
### 单元测试JUnit学习专题知识点详述 #### 一、单元测试概述 **单元测试定义**:单元测试是软件开发中的一个测试方法,通常针对软件中的最小可测试单元进行验证,例如一个类或者一个函数。其目的是确保每个单元...
这篇“JUnit学习--带附件”的文章很可能深入介绍了如何在JUnit4中进行单元测试,以及如何处理测试过程中的数据附件。在本文中,我们将详细探讨JUnit4的关键概念、使用方法以及如何与附件结合。 首先,JUnit4引入...
标题“log4j, Junit 学习”暗示了我们要探讨的两个关键主题:Log4j 和 JUnit。Log4j 是一个广泛使用的Java日志框架,它提供了灵活的日志记录功能,有助于调试和监控应用程序。JUnit 是一个用于单元测试的Java库,是...
**JUnit 概述** JUnit 是一个广泛使用的 Java 编程语言的单元测试框架,由 Erich Gamma 和 Kent Beck 创建。它的主要目标是提供一个简单、高效的方式来验证代码的正确性,尤其是在开发过程中确保代码功能的独立性和...
Ant and JUnit 学习
通过这份Junit学习笔记,你可以掌握单元测试的基本思想,熟练运用JUnit进行代码质量的保障。在实际开发中,单元测试不仅能帮助找出错误,还能在重构时提供安全保障,提高代码质量。不断学习和实践,你会发现自己在...
这个"JUnit学习资料大全第一部分(共2部分)"很可能是为了帮助开发者深入理解和熟练掌握JUnit的使用,以便在开发过程中确保代码的质量和可靠性。 在Java和J2EE的开发环境中,单元测试是不可或缺的一部分。它允许...
JUnit是Java语言中广泛使用的单元测试框架,它使得开发者能够编写和执行针对代码各个部分的独立测试。单元测试是软件开发中的重要环节,确保代码片段按照预期运行,并且在修改或添加新功能时不会破坏现有功能。JUnit...
本资源包是JUnit学习资料大全的第二部分,旨在帮助Java和J2EE开发者深入理解并熟练掌握单元测试的实践与技巧。 在Java J2EE项目开发中,单元测试是确保代码质量、降低维护成本的关键环节。JUnit通过提供一个简洁的...
在本篇《junit学习(十)——Spring与Hibernate整合的单元测试》中,我们将探讨如何在Java开发中,利用JUnit进行Spring和Hibernate框架的集成测试。单元测试是软件开发中的重要环节,它能帮助开发者确保代码的质量和...
在这个“junit 学习资料”中,我们可能会涵盖以下关键知识点: 1. **JUnit 概述**:JUnit 是一个开源项目,由 Erich Gamma 和 Kent Beck 开发,它是基于 xUnit 测试框架家族的一员。JUnit 提供了一个简单的 API,...
JUnit 是一个广泛使用的Java编程语言的单元测试框架,由Erich Gamma和Kent Beck共同开发,他们也是设计模式和极限编程领域的知名专家。JUnit 4.1是本文档中提到的版本,它基于Java 5.0的新特性,如注解(annotations...
### JUnit学习资料知识点详解 #### 一、JUnit简介及基本使用步骤 JUnit是一个流行的Java单元测试框架,广泛应用于Java应用程序的开发过程中。通过JUnit,开发者可以方便地编写和执行测试用例,确保代码的质量和稳定...
JUnit是Java语言中广泛使用的单元测试框架,它对于确保软件质量起到了至关重要的作用。通过JUnit,开发者能够对代码中的单一方法或多个方法进行独立验证,确保它们按照预期工作。JUnit的强大之处在于它允许创建...
通过学习这个JUnit教程,你可以掌握如何有效地编写和组织测试用例,以提高代码质量,减少错误,并确保软件功能的稳定性。同时,理解JUnit的基本结构和断言机制对于进行有效的单元测试至关重要。
总之,这个学习资源将带你深入理解JUnit的基本概念和高级特性,通过阅读`JUnit学习笔记.txt`并动手实践其中的示例,你将能熟练掌握如何利用JUnit3和JUnit4进行有效的单元测试,从而提升代码质量和项目稳定性。