`

JUnit的使用和常用注解

阅读更多

摘自: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有断言功能,如果测试结果不通过会告诉我们那个测试不通过,为什么,而如果是想以前的一般做法是写一些测试代码看其输出结果,然后再由自己来判断结果使用正确,使用junit的好处就是这个结果是否正确的判断是它来完成的,我们只需要看看它告诉我们结果是否正确就可以了,在一般情况下会大大提高效率。

 JUnit常用注解:
@Before:初始化方法
@After:释放资源
@Test:测试方法,在这里可以测试期望异常和超时时间
@Ignore:忽略的测试方法
@BeforeClass:针对所有测试,只执行一次,且必须为static void
@AfterClass:针对所有测试,只执行一次,且必须为static void
 JUnit4单元测试用例执行顺序:

@BeforeClass ==> @Before ==> @Test ==> @After ==> @AfterClass

 JUnit4单元测试方法执行顺序:

@Before ==> @Test ==> @After

 JUnit4单元测试实例:

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

分享到:
评论

相关推荐

    MyBatis 需要注意的地方junit注解

    1.junit 常用注解 @Before 初始化方法,每次测试方法调用前都执行一次。 @After 释放资源:每次测试方法调用后都执行一次 @Test 测试方法:在这里可以测试期望异常和超时时间 @ignore 忽略的测试方法 @BeforeClass ...

    JUnit使用说明(完整)

    JUnit是Java编程语言中最常用的单元测试框架,由Erich Gamma和Kent Beck共同创建,两位都是在软件开发领域有着深远影响的人物。Gamma是《设计模式:可复用面向对象软件的基础》一书的作者之一,而Beck则是极限编程...

    JUnit3.8.1 以及使用JUnit测试的代码demo

    JUnit是Java编程语言中最常用的单元测试框架之一,它允许开发者编写可重复运行的测试用例,以确保代码的正确性和稳定性。JUnit3.8.1是该框架的一个较早版本,尽管现在已经有更新的版本(如JUnit5),但了解其基本...

    junit3.8 和junit4 api

    JUnit是Java编程语言中最常用的单元测试框架之一,它允许开发者编写可执行的测试用例来验证代码的功能。这里我们将深入探讨JUnit 3.8和JUnit 4两个版本的主要API及其差异。 **JUnit 3.8 API** JUnit 3.8是JUnit的...

    junit使用指南及作业规范.pdf

    2. **常用注解**:如`@Test`用于标记测试方法,`@Before`和`@After`分别用于标记测试方法执行前后需要调用的方法。 3. **新特性实战**:通过具体的例子来展示这些新特性如何提高测试效率。 #### 3. 作业规范 文档中...

    Junit4.12和依赖包

    JUnit是Java编程语言中最常用的单元测试框架之一,它极大地简化了对代码进行验证和调试的过程。Junit4.12是该框架的一个稳定版本,它包含了许多改进和新特性,使得测试更加灵活和强大。在本文中,我们将深入探讨...

    Junit使用教程文档(7页)

    测试类通常会继承自`junit.framework.TestCase`(在较新版本的JUnit5中,使用`org.junit.jupiter.api.Test`注解),并在其中定义一系列测试方法。这些方法通常以`test`开头,无参数且返回值为void。例如,你可以创建...

    JUnit使用指南及作业规范.rar

    常用注解 (体验annotation的简单便捷) 的简单便捷) .... .... ...... 13 新特性实战 (实践出真知) .... .... ......... 14 3 作业规范 .... .... .... .... ...... 21 4 附录 .... .... .... .... 22 4.14....

    junit总结使用例子

    JUnit是Java编程语言中最常用的单元测试框架之一,它允许开发者编写可执行的测试用例来验证代码的功能。本文将深入探讨JUnit的使用方法、核心概念以及常见实践。 ### JUnit简介 JUnit是一个开源的测试框架,它基于...

    Junit的简单使用

    本文将深入探讨JUnit的简单使用,包括如何安装、创建测试类、使用断言、注解以及测试套件。 首先,安装JUnit通常是通过在项目构建工具(如Maven或Gradle)的依赖管理中添加JUnit库来完成的。对于Maven,可以在pom....

    Junit简介和扩展

    #### JUnit常用方式 ### JUnit3 JUnit3是一种较为传统的测试方式,其基本使用方法如下: 1. **引入TestCase类**:`import junit.framework.TestCase;` 2. **继承TestCase类**:`class Junit3Demo extends ...

    JUnit使用ANT格式化生成html测试报告

    JUnit是Java编程语言中最常用的单元测试框架,它允许开发者编写可重复执行的测试代码,确保代码的质量和稳定性。而ANT则是一个开源的构建工具,它使用XML来定义项目构建过程,包括编译、测试、打包等任务。在Java...

    junit4学习文档

    而在 JUnit4 中,使用 `@Before` 和 `@After` 注解替代了这些方法。 #### 四、JUnit4 实践案例 下面是一个使用 JUnit4 编写的测试类示例: ```java import org.junit.*; public class AddOperationTest { @...

    JUnit API和入门手册 chm

    本资源包含“JUnit API和入门手册”以及“JUnit In Action”电子书,将帮助你深入理解和掌握JUnit的核心概念和使用方法。 首先,`JUnit4.1.chm`文件是JUnit 4.1版本的API参考文档,通常包含了类、接口、方法等详细...

    JUnit入门及简单使用

    JUnit有多个版本,其中最常用的是JUnit3和JUnit4。JUnit3的测试类需要遵循特定的命名规则,比如测试方法必须以`test`作为前缀。而JUnit4引入了注解(annotation)机制,极大地简化了测试代码,使得编写和执行测试...

    junit-4.12.jar下载

    例如,JUnit 4.11引入了参数化测试,允许使用不同的数据集运行相同的测试逻辑,而JUnit 4.8.2和4.7则分别在错误处理和测试注解方面有所改进。 在压缩包中,我们还发现了`javadoc.jar`和`sources.jar`文件。`junit-...

    Junit4.4 Junit3.8.1

    JUnit是Java编程语言中最常用的单元测试框架之一,它允许开发者编写可执行的测试用例来验证代码的功能。这里我们关注的是JUnit的两个不同版本:JUnit 4.4和JUnit 3.8.1。这两个版本在功能、设计和使用上都有所差异,...

    Junit5.7.2离线jar

    JUnit是Java编程语言中最常用的单元测试框架之一,用于编写和运行可重复的自动化测试用例。Junit5.7.2版本是这个框架的一个稳定版本,提供了许多改进和新特性,使得测试更加高效且易于维护。这个离线jar文件包含了...

    junit5.jar

    JUnit 5,作为Java开发者最常用的单元测试框架,是JUnit系列的最新版本,为Java测试带来了显著的改进和创新。这个名为"junit5.jar"的文件正是JUnit 5的核心库,它包含了执行单元测试所需的所有核心组件,包括JUnit ...

Global site tag (gtag.js) - Google Analytics