摘自:http://www.itzhai.com/junit-use-common-annotations.html
JUnit是由 Erich Gamma 和 Kent Beck 编写的一个回归测试框架(regression testing framework)。Junit测试是程序员测试,即所谓白盒测试,因为程序员知道被测试的软件如何(How)完成功能和完成什么样(What)的功能。Junit是一套框架,继承TestCase类,就可以用Junit进行自动测试了。
要求在编写代码之前先写测试,这样可以强制你在写代码之前好好的思考代码(方法)的功能和逻辑,否则编写的代码很不稳定,那么你需要同时维护测试代码和实际代码,这个工作量就会大大增加。因此在极限编程中,基本过程是这样的:构思-> 编写测试代码-> 编写代码-> 测试,而且编写测试和编写代码都是增量式的,写一点测一点,在编写以后的代码中如果发现问题可以较快的追踪到问题的原因,减小回归错误的纠错难度。
其好处和极限编程中是类似的,因为重构也是要求改一点测一点,减少回归错误造成的时间消耗。
junit有断言功能,如果测试结果不通过会告诉我们那个测试不通过,为什么,而如果是想以前的一般做法是写一些测试代码看其输出结果,然后再由自己来判断结果使用正确,使用junit的好处就是这个结果是否正确的判断是它来完成的,我们只需要看看它告诉我们结果是否正确就可以了,在一般情况下会大大提高效率。
@After:释放资源
@Test:测试方法,在这里可以测试期望异常和超时时间
@Ignore:忽略的测试方法
@BeforeClass:针对所有测试,只执行一次,且必须为static void
@AfterClass:针对所有测试,只执行一次,且必须为static void
@BeforeClass ==> @Before ==> @Test ==> @After ==> @AfterClass
@Before ==> @Test ==> @After
import static org.junit.Assert.*;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Ignore;
import org.junit.Test;
public class JUnit4Test {
@Before
public void before() {
System.out.println("@Before");
}
@Test
public void test() {
System.out.println("@Test");
assertEquals(5 + 5, 10);
}
@Ignore
@Test
public void testIgnore() {
System.out.println("@Ignore");
}
@Test(timeout = 50)
public void testTimeout() {
System.out.println("@Test(timeout = 50)");
assertEquals(5 + 5, 10);
}
@Test(expected = ArithmeticException.class)
public void testExpected() {
System.out.println("@Test(expected = Exception.class)");
throw new ArithmeticException();
}
@After
public void after() {
System.out.println("@After");
}
@BeforeClass
public static void beforeClass() {
System.out.println("@BeforeClass");
};
@AfterClass
public static void afterClass() {
System.out.println("@AfterClass");
};
};
输出结果的顺序为:
@BeforeClass
@Before
@Test(timeout = 50)
@After
@Before
@Test(expected = Exception.class)
@After
@Before
@Test
@After
@AfterClass
相关推荐
1.junit 常用注解 @Before 初始化方法,每次测试方法调用前都执行一次。 @After 释放资源:每次测试方法调用后都执行一次 @Test 测试方法:在这里可以测试期望异常和超时时间 @ignore 忽略的测试方法 @BeforeClass ...
JUnit是Java编程语言中最常用的单元测试框架,由Erich Gamma和Kent Beck共同创建,两位都是在软件开发领域有着深远影响的人物。Gamma是《设计模式:可复用面向对象软件的基础》一书的作者之一,而Beck则是极限编程...
JUnit是Java编程语言中最常用的单元测试框架之一,它允许开发者编写可执行的测试用例来验证代码的功能。这里我们将深入探讨JUnit 3.8和JUnit 4两个版本的主要API及其差异。 **JUnit 3.8 API** JUnit 3.8是JUnit的...
JUnit是Java编程语言中最常用的单元测试框架之一,它极大地简化了对代码进行验证和调试的过程。Junit4.12是该框架的一个稳定版本,它包含了许多改进和新特性,使得测试更加灵活和强大。在本文中,我们将深入探讨...
测试类通常会继承自`junit.framework.TestCase`(在较新版本的JUnit5中,使用`org.junit.jupiter.api.Test`注解),并在其中定义一系列测试方法。这些方法通常以`test`开头,无参数且返回值为void。例如,你可以创建...
JUnit是Java编程语言中最常用的单元测试框架之一,它允许开发者编写可重复运行的测试用例,以确保代码的正确性和稳定性。JUnit3.8.1是该框架的一个较早版本,尽管现在已经有更新的版本(如JUnit5),但了解其基本...
常用注解 (体验annotation的简单便捷) 的简单便捷) .... .... ...... 13 新特性实战 (实践出真知) .... .... ......... 14 3 作业规范 .... .... .... .... ...... 21 4 附录 .... .... .... .... 22 4.14....
JUnit是Java编程语言中最常用的单元测试框架之一,它允许开发者编写可执行的测试用例来验证代码的功能。本文将深入探讨JUnit的使用方法、核心概念以及常见实践。 ### JUnit简介 JUnit是一个开源的测试框架,它基于...
本文将深入探讨JUnit的简单使用,包括如何安装、创建测试类、使用断言、注解以及测试套件。 首先,安装JUnit通常是通过在项目构建工具(如Maven或Gradle)的依赖管理中添加JUnit库来完成的。对于Maven,可以在pom....
#### JUnit常用方式 ### JUnit3 JUnit3是一种较为传统的测试方式,其基本使用方法如下: 1. **引入TestCase类**:`import junit.framework.TestCase;` 2. **继承TestCase类**:`class Junit3Demo extends ...
JUnit是Java编程语言中最常用的单元测试框架,它允许开发者编写可重复执行的测试代码,确保代码的质量和稳定性。而ANT则是一个开源的构建工具,它使用XML来定义项目构建过程,包括编译、测试、打包等任务。在Java...
而在 JUnit4 中,使用 `@Before` 和 `@After` 注解替代了这些方法。 #### 四、JUnit4 实践案例 下面是一个使用 JUnit4 编写的测试类示例: ```java import org.junit.*; public class AddOperationTest { @...
本资源包含“JUnit API和入门手册”以及“JUnit In Action”电子书,将帮助你深入理解和掌握JUnit的核心概念和使用方法。 首先,`JUnit4.1.chm`文件是JUnit 4.1版本的API参考文档,通常包含了类、接口、方法等详细...
JUnit有多个版本,其中最常用的是JUnit3和JUnit4。JUnit3的测试类需要遵循特定的命名规则,比如测试方法必须以`test`作为前缀。而JUnit4引入了注解(annotation)机制,极大地简化了测试代码,使得编写和执行测试...
JUnit是Java编程语言中最常用的单元测试框架之一,它允许开发者编写可执行的测试用例来验证代码的功能。这里我们关注的是JUnit的两个不同版本:JUnit 4.4和JUnit 3.8.1。这两个版本在功能、设计和使用上都有所差异,...
例如,JUnit 4.11引入了参数化测试,允许使用不同的数据集运行相同的测试逻辑,而JUnit 4.8.2和4.7则分别在错误处理和测试注解方面有所改进。 在压缩包中,我们还发现了`javadoc.jar`和`sources.jar`文件。`junit-...
JUnit 5,作为Java开发者最常用的单元测试框架,是JUnit系列的最新版本,为Java测试带来了显著的改进和创新。这个名为"junit5.jar"的文件正是JUnit 5的核心库,它包含了执行单元测试所需的所有核心组件,包括JUnit ...
JUnit是Java编程语言中最常用的单元测试框架之一,用于编写和运行可重复的自动化测试用例。Junit5.7.2版本是这个框架的一个稳定版本,提供了许多改进和新特性,使得测试更加高效且易于维护。这个离线jar文件包含了...