一,Junit4是Junit框架有史以来的最大改进,其主要目标便是利用Java 5的Annotation特性简化测试用例的编写。
要求:
JDK 5.0或以上版本
二,使用
1)Junit3中,Junit依赖反射来执行每个以test开头的方法,但是Junit4中,有了Annotation的,我们的测试方法就不需要再以testXXX来标识了,而是写上一个@Test标注即可。
如:
@Test
public static void m1() {
// ...
}
2)使用断言,Junit4中,可以使用Assert类的静态方法。
如:
Assert.assertNotNull(applicationContext);
如果使用静态倒入的话,代码还可以稍微简化一点。
如:
import static org.junit.Assert.assertNotNull;
3)setUp()和tearDown()方法分别是准备测试环境和释放资源,
JUnit4不再强迫必须使用setUp()和tearDown()作为方法名,
只要使用@Before和@After标注即可。
4)期待中的异常可以用@Test的属性expected=Exception.class
并不需要手动捕捉异常。
如:
@Test(expected=java.lang.ArithmeticException.class)
public void test3() {
int a = 3;
int b = 0;
a = a / b ;
}
5)设置最长执行时间,对于非常耗时的测试可以用@Test的属性timeout来检测,
超过所指定的
毫秒数则测试失败。
如:
@Test(timeout=1000)
public void test4() {
while(true);
}
6)@BeforeClass和@AfterClass
这是Junit 4与Junit 3相比较另一个较大的区别。它们在一个Test类的所有测试方法执行前后各执行一次。
这是为了初始化一些重要的资源,比如数据库连接,会在@BeforeClass中来执行初始化,然后再执行测试方法,最后在@AfterClass中释放资源。
由于这二个方法在运行其间仅执行一次,因此它们只能标记为静态方法,其实在所有的测试方法中共享的资源也必须是静态引用。
如:
@BeforeClass
public static void setUpBeforeClass() throws Exception {
System.out.println("setUpBeforeClass");
}
@AfterClass
public static void tearDownAfterClass() throws Exception {
System.out.println("tearDownAfterClass");
}
@Test
public void test1() {
System.out.println("test1");
}
@Test
public void test2() {
System.out.println("test2");
}
7)
- 为准备使用参数化测试的测试类指定特殊的运行器 org.junit.runners.Parameterized。
- 为测试类声明几个变量,分别用于存放期望值和测试所用数据。
- 为测试类声明一个使用注解 org.junit.runners.Parameterized.Parameters 修饰的,返回值为 java.util.Collection 的公共静态方法,并在此方法中初始化所有需要测试的参数对。
- 为测试类声明一个带有参数的公共构造函数,并在其中为第二个环节中声明的几个变量赋值。
- 编写测试方法,使用定义的变量作为参数进行测试。
@RunWith(Parameterized.class)
public class TestCase {
private int a;
private int b;
public TestCase(int a, int b) {
this.a = a;
this.b = b;
}
@Test(expected=java.lang.ArithmeticException.class)
public void test(){
System.out.println(a / b);
}
@Parameters
public static java.util.Collection<Object[]> getParams() {
return Arrays.asList(new Object[][]{
{111, 2},
{210, 3},
{5, 0}
});
}
}
分享到:
相关推荐
《Junit使用详解》 Junit,作为Java编程语言中最为广泛应用的单元测试框架,它为开发者提供了方便快捷的方式来编写和执行单元测试,确保代码的正确性和稳定性。本指南将详细解析Junit的使用方法,旨在帮助开发者...
总的来说,本7页的"JUnit使用教程"文档将引导你逐步掌握JUnit的基本用法,包括创建测试类、编写测试方法、使用断言以及运行测试。通过学习和实践,你将能够在开发过程中有效地运用单元测试,提升代码质量并减少bug的...
Eclipse Eclipse 中使用 junit junitjunit (有了开发工具对 (有了开发工具对 junit的支持后) .... ... 8 JUNIT 4.X4.X4.X使用 .... .... .... ......... 12 下载与安装 下载与安装 .... .... .... ...... 12 ...
**Junit使用说明文档** **一、Junit简介** JUnit是一款广泛应用于Java编程语言的单元测试框架,由Ernst Konig和Kent Beck在2000年开发。它是XUnit系列测试框架的一员,旨在帮助开发者对代码进行快速、可靠且可重复...
同时,虽然JUnit可以独立于集成开发环境(IDE)使用,但Eclipse是一个非常流行的选择,因为它内置了对JUnit的支持,特别是从Eclipse 3.2版本开始就支持JUnit 4。这里以Eclipse Helios (3.6) for Java EE为例,讲解...
Bosent Junit 使用 Bosent Junit 使用是指在 Bosent 环境中使用 Junit 进行单元测试的方法。Junit 是一个流行的 Java 单元测试框架, 可以帮助开发者快速、方便地编写单元测试用例。 启动方式 Bosent Junit 使用的...
在“JUnit使用ANT格式化生成html测试报告”的主题中,我们需要了解以下几个关键知识点: 1. **JUnit测试框架**:JUnit是Java的一个单元测试库,它提供了断言方法来验证代码的行为,以及注解来标记测试方法。例如,`...
《JUnit使用简明手册》是针对Java开发人员的一份实用指南,主要涵盖了如何有效地使用JUnit进行单元测试。JUnit是一款广泛使用的开源测试框架,它简化了Java应用的单元测试过程,帮助开发者确保代码的质量和可靠性。...
Junit使用教程 测试教程 使用入门 JUnit是一个开发源代码的Java测试框架,用于编写和运行可重复的测试。它是用于单元测试框架体系xUnit的一个实例(用于Java语言)。以下是JUnit的特性: 1.断言(Assertion):...
### 软件测试之Eclipse与JUnit使用详解 #### 一、JUnit简介与安装 JUnit 是一个流行的单元测试框架,主要用于 Java 编程语言。它最初由 Erich Gamma 和 Kent Beck 创建,目的是帮助开发者编写可靠的软件代码。通过...
**JUnit使用指南:初学者入门** JUnit是一款广泛应用于Java编程中的单元测试框架,它使得开发者能够轻松编写和执行测试用例,确保代码的正确性。本文将深入介绍JUnit的基础知识和使用方法,帮助初学者快速上手。 #...
### JUnit使用指南及作业规范知识点详解 #### 1. JUnit总览 ##### 1.1 简介 JUnit是由Erich Gamma和Kent Beck共同开发的一个回归测试框架,主要用于Java程序的单元测试。JUnit属于白盒测试类型,允许开发者编写...
JUnit 使用入门培训(初级篇)1 JUnit 是 Java 语言中最流行的单元测试框架之一,它提供了许多功能强大且灵活的测试工具,帮助开发者编写高质量的代码。本文将从基础开始,指导读者如何使用 JUnit 进行单元测试。 ...
1. 测试注解:JUnit使用注解(如@Test、@Before、@After)来标记测试方法和生命周期方法。例如,@Test注解表示这是一个测试方法,而@Before和@After注解用于在每个测试方法执行前后运行一些设置和清理工作。 2. ...
《JUnit使用报告——测试驱动开发的艺术》 在软件开发领域,测试是不可或缺的一环,而JUnit作为Java编程语言中的一个核心测试框架,为开发者提供了强大的单元测试能力。本报告将详细探讨JUnit的基本概念、使用方法...