`
85977328
  • 浏览: 1899223 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

junit4.8.2入门应用

阅读更多
一 概述
junit介绍
    JUnit是由 Erich Gamma 和 Kent Beck 编写的一个回归测试框架(regression testing framework)。Junit测试是程序员测试,即所谓白盒测试,因为程序员知道被测试的软件如何(How)完成功能和完成什么样(What)的功能。Junit是一套框架,继承TestCase类,就可以用Junit进行自动测试了。
junit特性
  JUnit是一个开放源代码的Java测试框架,用于编写和运行可重复的测试。他是用于单元测试框架体系xUnit的一个实例(用于java语言)。它包括以下特性:   
1、用于测试期望结果的断言(Assertion)   
2、用于共享共同测试数据的测试工具   
3、用于方便的组织和运行测试的测试套件   
4、图形和文本的测试运行器
junit优点
  另外junit是在xp编程和重构(refactor)中被极力推荐使用的工具,因为在实现自动单元测试的情况下可以大大的提高开发的效率,但是实际上编写测试代码也是需要耗费很多的时间和精力的,那么使用这个东东好处到底在哪里呢?笔者认为是这样的:
通俗解释
1.根据期望结果进行测试
2.多个方法一起运行,而不是像main一样,只能运行一个
3.直观的运行结果
4.规范的测试代码
二 第一个junit4程序
    1)引入包junit-4.8.2.jar
hamcrest-all-1.2.jar
    2)代码JUnit4 HelloWorld
    直接运行类ArithmeticTest.java就可以看到结果.
package com.huaxin.phl;

public class Arithmetic {

	public int add(int a, int b) {
		return a + b;
	}

	public String getString() {
		return "my name is phl!!!";
	}
}


package com.huaxin.test;

import static org.junit.Assert.*;
import static org.hamcrest.Matchers.*;

import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Ignore;
import org.junit.Test;

import com.huaxin.phl.Arithmetic;

public class ArithmeticTest {
	
	@BeforeClass
	public static void beforeClass(){
		System.out.println("junit4.8.2 is begin!");
	}
	@AfterClass
	public static void afterClass(){
		System.out.println("junit4.8.2 is end!");
	}
	
	@Ignore
	public void testIgnore(){
		System.out.println("testIgnore!");
	}
	
	@Test
	public void testAdd() {
		System.out.println("testAdd!!");
		assertThat(new Arithmetic().add(4, 3), is(7));
	}

	@Test
	public void testLength() {
		System.out.println("testLength!!");
		assertThat(new Arithmetic().getString(),containsString("phl"));
	}
}

   
3)assertThat
使用hamcrest的匹配方法,更自然
a)
assertThat( n, allOf( greaterThan(1), lessThan(15) ) );
assertThat( n, anyOf( greaterThan(16), lessThan(8) ) );
assertThat( n, anything() );
assertThat( str, is( "bjsxt" ) );
assertThat( str, not( "bjxxt" ) );

b)
assertThat( str, containsString( "bjsxt" ) );
assertThat( str, endsWith("bjsxt" ) );
assertThat( str, startsWith( "bjsxt" ) );
assertThat( n, equalTo( nExpected ) );
assertThat( str, equalToIgnoringCase( "bjsxt" ) );
assertThat( str, equalToIgnoringWhiteSpace( "bjsxt" ) );

c)
assertThat( d, closeTo( 3.0, 0.3 ) );
assertThat( d, greaterThan(3.0) );
assertThat( d, lessThan (10.0) );
assertThat( d, greaterThanOrEqualTo (5.0) );
assertThat( d, lessThanOrEqualTo (16.0) );

d)
assertThat( map, hasEntry( "bjsxt", "bjsxt" ) );
assertThat( iterable, hasItem ( "bjsxt" ) );
assertThat( map, hasKey ( "bjsxt" ) );
assertThat( map, hasValue ( "bjsxt" ) );
    4)Failure和Error
1.Failure是指测试失败
2.Error是指测试程序本身出错
    5)JUnit4 Annotation
1.@Test: 测试方法
a)(expected=XXException.class)
b)(timeout=xxx)
2.@Ignore: 被忽略的测试方法
3.@Before: 每一个测试方法之前运行
4.@After: 每一个测试方法之后运行
5.@BeforeClass: 所有测试开始之前运行
6.@AfterClass: 所有测试结束之后运行
    6)运行多个测试
    7)注意1.遵守约定,比如:
a)类放在test包中
b)类名用XXXTest结尾
c)方法用testMethod命名
    8)其他框架TestNG
   
3
0
分享到:
评论
1 楼 yangpeihai 2012-09-26  
入门好资料,收藏啦,谢谢

相关推荐

    junit4.8.2.zip

    Junit4.8.2是一个历史悠久的版本,它是Java编程语言中最流行的单元测试框架——JUnit的一个版本。这个压缩包包含了该版本的源代码,对于学习和理解JUnit的内部工作原理,以及如何进行单元测试,非常有帮助。接下来,...

    junit4.8.2

    JUnit 4.8.2 是一个广泛使用的开源Java测试框架,专为简化单元测试而设计。这个版本在单元测试领域中扮演着至关重要的角色,它提供了丰富的注解、断言库以及测试运行器,帮助开发者编写高效且可靠的测试代码。 1. *...

    junit4.8.2.zip(junit 整合包包括核心jar,文档,源代码,dep)

    总的来说,"junit4.8.2.zip"是一个完整的Junit学习和开发工具包,涵盖了从入门到深入研究的所有必要元素。无论你是Java初学者还是经验丰富的开发者,这个包都能提供你需要的一切,帮助你更好地进行单元测试和代码...

    Junit4.8.2(Junit4.7)

    在本篇中,我们将详细探讨JUnit 4.8.2和4.7这两个版本,以及它们在测试过程中的应用。 首先,JUnit 4.8.2是JUnit系列的一个稳定版本,相较于早期的4.7版本,它可能包含了修复的bug、性能改进和新的特性。在JUnit 4....

    junit4.8.2-javadoc.rar

    本压缩包“junit4.8.2-javadoc.rar”包含了JUnit 4.8.2版本的API文档,是学习和使用该版本JUnit的重要参考资料。 一、JUnit概述 JUnit 4.8.2是JUnit系列的一个重要版本,它引入了许多新特性和改进,使得测试更加...

    junit-4.8.2.jar包

    在"junit-4.8.2.jar"这个版本中,我们可以深入研究其设计模式的应用以及它如何支持测试驱动开发(TDD)的工作流程。 首先,JUnit 4.8.2引入了注解(Annotations)的概念,这是Java 5引入的一项特性。例如,`@Test`...

    junit4.8.2 api chm

    junit4.8.2 api chm 非常好用

    junit-4.8.2版本下载

    下面将详细讨论JUnit 4.8.2及其在Web后端开发中的应用。 **JUnit简介** JUnit是一个开源项目,由Ernst Lehmann和Kent Beck发起,基于xUnit测试框架家族。它的主要目标是提供一个简单、可扩展的平台,帮助开发者编写...

    junit-4.8.2

    下面将详细介绍JUnit 4.8.2及其在软件开发中的应用。 一、JUnit简介 JUnit是一个开源项目,由Ernst魔鬼和Kent Beck共同创建,它基于xUnit测试框架家族,专门为Java开发者设计。JUnit 4.8.2是这个系列的一个版本,...

    Junit4.8.2API

    除了核心功能外,JUnit4.8.2还支持扩展,例如通过`@Rule`注解可以定义自定义的测试规则,这些规则会在测试执行前后自动应用。例如,`TemporaryFolder`规则可以在测试中创建临时目录,并在测试结束后自动清理。 关于...

    Junit 4.8.2 API CHM

    Junit 4.8.2 API CHM All Classes

    junit-4.8.2.jar

    junit/junit/ Maven依赖写法: <groupId>junit <artifactId>junit <version>4.8.2 </dependency>

    junit4-4.8.2.jar

    xunit里的junit,我经常用到,做单元测试,分享给大家使用

    junit-4.8.2.rar

    《深入理解JUnit 4.8.2:Java单元测试框架详解》 JUnit是Java编程语言中最广泛使用的单元测试框架之一,其4.8.2版本是该框架的一个稳定且功能丰富的迭代。本篇文章将深入探讨JUnit 4.8.2的核心特性、使用方法以及它...

    hamcrest-1.3 jar包及junit-4.8.2 jar包

    首先,`junit-4.8.2.jar` 是 JUnit 的一个版本,JUnit 是由 Erich Gamma 和 Kent Beck 开发的一个开源测试框架,主要用于编写和运行 Java 代码的单元测试。JUnit 4.8.2 是 JUnit 4 系列的一个稳定版本,它引入了注解...

    junit-4.8.2-sources.jar

    源代码分析的目标JUnit-4.8.2。http://blog.csdn.net/yqj2065/article/details/39839155

    hamcrest-1.3+junit-4.7+junit-4.8.2

    `hamcrest-1.3+junit-4.7+junit-4.8.2` 这个压缩包文件包含了两个重要的单元测试框架:Hamcrest 1.3 和 JUnit 的多个版本,分别是 4.7 和 4.8.2。让我们深入了解一下这两个库以及它们如何协同工作以支持高效的单元...

    Junit入门及应用

    【JUnit入门及应用】 JUnit是Java开发者常用的单元测试框架,它的主要目的是为了编写和执行可重复的测试,确保代码的质量和稳定性。作为一个开源项目,JUnit是xUnit家族的一员,适用于进行白盒测试和回归测试。 **...

Global site tag (gtag.js) - Google Analytics