单元测试不是用来证明您是对的,而是为了证明您没有错。
单元测试的范围要全面,比如对边界值、正常值、错位值的测试
eclipse全面支持JUnit,并从版本3.2开始支持JUnit4
JUnit4.1是基于Java5的升级版本,所以JDK1.4不支持JUnit4
单元测试代码和被测试代码应该放在不同的src目录下(例如src和testsrc),但要保证使用相同的包名,这样既保证了测试代码和被测试代码的分离,又
便于查找
对于JUnit4来说:
1.测试类不用继承任何框架类(只需引入JUnit4相关包即可);
2.测试方法必须使用注解@Test;
3.测试方法必须使用public void修改,而且不能带任何参数;
4.测试方法名可以任意取;
例如:
package com.cxm.juintt;
import static org.junit.Assert.*;
import org.junit.Test;
public class HelloWorldTest {
@Test
public void tsS() {
HelloWorld he=new HelloWorld();
int a=he.str(3, 1);
assertEquals(2, a);
}
}
在Eclipse中建立测试方法很简单,只需要右击选择new->JUnit4即可创建该类的测试类
JUnit将测试失败的情况分为两种:failure和error。Failure一般由断言方法判断引起;error则是有代码异常引起
Fixture:它是指在执行一个或多个测试方法是需要首先创建的一系列公共资源或者数据
使用他们也能简单:
1.初始化方法必须使用注解@Before,方法名可以随便取,最好取init;
2.测试方法必须使用public void修饰,而且不能带任何参数;
3.注销方法必须使用注解@After,方法名最好取destroy;
注意:每个测试方法被调用前后,都要调用一次Fixture方法
如果Fixture方法能耗费时间,可以考虑类级别的Fixture方法
使用他们也能简单:
1.初始化方法必须使用注解@BeforeClass,方法名可以随便取,最好取init;
2.测试方法必须使用public static void修改,而且不能带任何参数;
3.注销方法必须使用注解@AfterClass,方法名最好取destroy;
这样的话,Fixture方法只调用一次
注解@Test有一个参数timeout,指定被测试方法被允许运行的最长时间是多少,单位为毫秒。如果被测试方法运行的时间超过了设定的时间,JUnit就认为
失败,这个参数可以用于性能测试。例如:
@Test(timeout=1)
public void tsS() {
HelloWorld he=new HelloWorld();
int a=he.str(3, 1);
assertEquals(2, a);
}
忽略测试方法,可以使用注解Ignore,例如下面代码,运行测试类时,就不执行这个测试方法
@Ignore // 无论下到Test上面还是下面都会忽略的
@Test
public void tsS() {
HelloWorld he=new HelloWorld();
int a=he.str(3, 3);
assertEquals(2, a);
}
JUnit提供了一种批量运行测试类的方法,叫做测试套件。
其使用方法是首先新建一个public空类,而且该类存在公开的不带任何参数的构造方法,例如:
package com.cxm.juintt;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
@RunWith(Suite.class)// 指定JUnit的运行器为Suite
@Suite.SuiteClasses({HelloWorldTest.class,HelloWorldTest2.class})// 各个测试类用逗号分隔
public class SuiteTest {
}
参数化测试方法如下:
1,为准备使用参数化测试的测试类指定特殊的运行器 org.junit.runners.Parameterized
2,为测试类声明几个变量,分别用于存放期望值和测试所用数据。
3,为测试类声明一个使用注解 org.junit.runners.Parameterized.Parameters 修饰的,返回值为 java.util.Collection 的公共静态方法,并在此方法中初始化所有需要测试的参数对。
4,为测试类声明一个带有参数的公共构造函数,并在其中为第二个环节中声明的几个变量赋值。
5,编写测试方法,使用定义的变量作为参数进行测试。
例如:
package com.cxm.juintt;
import static org.junit.Assert.*;
import java.util.Arrays;
import java.util.Collection;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.junit.runners.Parameterized.Parameters;
@RunWith(Parameterized.class)
public class HelloWorldTest2 {
private int e1;
private int e2;
private int r;
@Parameters
public static Collection ssef(){
return Arrays.asList(new Integer[][]{
{3,1,2},{5,0,5},{6,6,0},{9,9,0},{10,5,5},{3,2,1}
});
}
public HelloWorldTest2(int e1,int e2,int r){
this.e1=e1;
this.e2=e2;
this.r=r;
}
@Test
public void testAdd() {
HelloWorld he=new HelloWorld();
assertEquals(r, he.str(e1, e2));
}
}
分享到:
相关推荐
### JUnit4 学习知识点详解 #### 一、JUnit4 概述 JUnit4 是 JUnit 测试框架的一个重大更新版本,它充分利用了 Java 5 的注解(Annotation)特性来简化测试用例的编写过程。注解是一种元数据,用于描述程序中的...
### JUnit4学习方法 #### 一、简介与背景 JUnit4是一款广泛应用于Java开发环境下的单元测试框架,它提供了一套简洁而强大的API来帮助开发者编写自动化测试代码。JUnit4相较于之前的版本,在语法和功能上都有显著...
### JUnit4学习笔记——入门篇 #### 一、配置MyEclipse在项目中引入JUnit4.jar包 在使用JUnit4进行单元测试之前,首先需要确保开发环境已正确配置JUnit库。对于使用MyEclipse IDE的开发者来说,可以通过以下步骤...
@Test:这是 JUnit4 中的核心元数据,用于标记测试方法。当 JUnit4 运行测试时,会查找所有带有 @Test 注解的方法,并逐一执行。@BeforeClass 和 @AfterClass:这两个元数据分别表示在整个测试类运行前只执行一次的...
测试方法执行之后都要执行一次,通常用于清理工作,如关闭数据库连接或释放资源。这两个注解替代了 JUnit 3 中的 ...在学习 JUnit4 时,了解并熟练使用这些注解是非常重要的,它们将帮助你编写出高效、可靠的测试代码。
**JUnit4教程——初探单元测试的艺术** JUnit4是Java编程语言中广泛使用的单元测试框架,它是Java开发者进行软件质量保证的重要工具。...希望这个简要的教程能对你在学习和使用JUnit4的过程中起到指导作用。
JUnit是Java编程语言中最常用的单元测试框架,它用于编写和执行可重复的自动化测试,以确保代码的质量。本文将深入探讨JUnit入门培训的关键概念和技术。 首先,我们要理解什么是Test Driven Development(TDD),即...
JUnit测试资料。JUnit测试资料。JUnit测试资料。JUnit测试资料。JUnit测试资料。JUnit测试资料。JUnit测试资料。JUnit测试资料。JUnit测试资料。JUnit测试资料。JUnit测试资料。JUnit测试资料。
JUnit4源码的完整版本包含了整个框架的实现细节,对于理解其工作原理、学习测试驱动开发(TDD)以及进行自定义扩展非常有帮助。 1. **JUnit核心概念**: - **Test Case**:在JUnit4中,测试用例是通过继承`org....
这个“Junit学习.rar”压缩包显然包含了关于JUnit从3.8到4.9版本的学习资料,包括可能的操作手册、教程文档以及个人的学习笔记。以下是基于这些资源可能涵盖的一些关键知识点: 1. **JUnit基础知识**:了解JUnit的...
《JUnit4:Java单元测试框架详解》 JUnit4是一款广泛应用于Java编程领域的单元测试框架,它的出现极大地简化了...在学习和使用过程中,理解其核心概念和特性,结合实际项目进行实践,才能真正发挥出JUnit4的强大效能。
这个压缩包提供的JUnit4版本是绿色且免费的,适合个人学习和小型项目使用。不过,在企业级项目中,可能还需要考虑与持续集成工具(如Jenkins)、代码覆盖率工具(如JaCoCo)等进行集成,以实现更全面的测试流程。
JUnit4 使用方法 JUnit4 是一个流行的 Java 单元测试框架,提供了许多功能强大且灵活的测试工具。...通过学习 JUnit4 的使用方法和核心概念,可以提高测试效率和测试质量,确保软件的可靠性和稳定性。
总的来说,这个压缩包提供了学习JUnit4和进行单元测试的实战案例,对于理解如何在Eclipse中使用JUnit进行代码验证和调试是非常有价值的。通过分析和运行这些源码,学习者可以掌握单元测试的基本概念,了解如何编写...
通过这个“Junit4电子教程 API”,学习者将能够深入理解JUnit4提供的各种功能,并学会如何在实际项目中有效地利用它们。教程可能涵盖如何创建和运行测试,使用断言,处理异常,进行参数化测试,以及如何利用规则和...
**ANT学习笔记(一)——ANT结合JUNIT4学习DEMO** ANT,全称为Apache Ant,是一个基于Java的构建工具,用于自动化Java项目的构建、编译、测试和部署过程。它通过XML配置文件来定义任务,使得项目构建过程可配置且可...
### JUnit4 使用详解 #### 一、JUnit简介与单元测试概念 JUnit 是一个用于 Java 程序的单元测试框架,它可以帮助开发者确保代码的质量和...通过对 JUnit4 的学习和应用,开发者能够构建出更为健壮和可靠的软件系统。
**JUnit4测试框架详解** JUnit 4 是一个广泛使用的Java编程语言的单元测试框架,它在软件开发过程中扮演着至关重要的角色,确保代码的质量和稳定性。这个"PPT讲义"涵盖了JUnit 4的核心概念和使用方法,对于学习和...
总之,这个"Junit4的小实例程序"是一个很好的学习资源,通过它,你可以学习到如何使用JUnit4进行单元测试,包括创建测试类、编写测试方法、使用断言以及了解测试生命周期等核心概念。实践这些示例,将有助于提升你的...