junit 的几个注解

在编码的过程中,需要单元测试,写测试用例,junit就能派上用场。我现在把一个测试方法当作一个测试用例。

在早期junit3中,需要继承junit.framework.TestCase,这里有诸多限制:比如测试的方法名必须以test开头,setUp、tearDown方法名也是固定的。setUp、tearDown的用途就是统一给多个测试方法准备数据、清理现场,减少了重复工作,在测试术语中他们叫测试夹具。一个完整的测试用例:先执行setUp,再执行测试方法,最后执行tearDown。各个测试用例之间是没有顺序的。

在现在的junit4中,扩展了几个注解,不需要继承junit.framework.TestCase:

1、@BeforeClass:放在一个public static void方法上,这个方法最先执行,而且只执行一次。可以用于加载一些静态配置文件,环境设置等。

2、@AfterClass:放在一个public static void方法上,这个方法最后执行,而且只执行一次。可用于清理数据、环境等。在某些情况下,环境的设置与清理只需要执行一次,可以考虑使用@BeforeClass、@AfterClass,相对与@Before、@After来说,效率有所提高。

3、@Before:放在一个public void方法上,在每个测试方法执行之前执行。一般的用途为测试方法准备测试数据。

4、@After:放在一个public void方法上,在每个测试方法执行之后执行。一般的用途为清理现场,不干扰下一个测试方法的执行。

5、@Test:放在一个public void方法上,这是执行测试的方法,是测试主体。

6、@Ignore:可以放在测试方法上,忽略该测试方法不执行;也可以放在测试类上,整个测试类的所有测试方法将会忽略掉,不执行。

7、@FixMethodOrder:放在测试类上。某些情况下,如果需要测试方法按照一定的顺序执行,可以加上他。一般来说,测试方法之间是相互独立的,没有执行顺序的要求。

虽然加注解的方法名可以任意写其他合法的方法名,但最好还是表意,便于阅读理解。详见代码:

package cn.wonhigh.o2o.test;

import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.FixMethodOrder;
import org.junit.Ignore;
import org.junit.Test;
import org.junit.runners.MethodSorters;

@FixMethodOrder(MethodSorters.NAME_ASCENDING)
public class Junit4Test {

	// 方法名任意
	@BeforeClass
	public static void setUpBeforeClass() throws Exception {
		System.out.println("最先执行");
	}

	// 方法名任意
	@AfterClass
	public static void tearDownAfterClass() throws Exception {
		System.out.println("最后执行");
	}

	// 方法名任意
	@Before
	public void setUp() throws Exception {
		System.out.println("在测试方法之前执行");
	}

	// 方法名任意
	@After
	public void tearDown() throws Exception {
		System.out.println("在测试方法之后执行");
	}

	// 方法名任意
	@Test
	public void method1() {
		System.out.println("测试方法1");
	}

	// 方法名任意
	@Test
	public void method2() {
		System.out.println("测试方法2");
	}

	// 该方法将被忽略调,不会执行
	@Ignore
	@Test
	public void method3() {
		System.out.println("测试方法3");
	}

}

输出:

最先执行
在测试方法之前执行
测试方法1
在测试方法之后执行
在测试方法之前执行
测试方法2
在测试方法之后执行
最后执行
时间: 2024-10-23 02:15:13

junit 的几个注解的相关文章

Junit中常用的注解说明

Java注解((Annotation)的使用方法是@注解名 ,能通过简单的词语来实现一些功能.在junit中常用的注解有@Test.@Ignore.@BeforeClass.@AfterClass.@Before.@After.@Runwith.@Parameters 以下是相关的介绍和使用说明: 一[email protected] 在junit3中,是通过对测试类和测试方法的命名来确定是否是测试,且所有的测试类必须继承junit的测试基类.在junit4中,定义一个 测试方法变得简单很多,只

Junit、反射、注解

一.Junit单元测试: * 测试分类: 1. 黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值. 2. 白盒测试:需要写代码的.关注程序具体的执行流程.?* Junit使用:白盒测试 * 步骤: 1. 定义一个测试类(测试用例) * 建议: * 测试类名:被测试的类名Test CalculatorTest * 包名:xxx.xxx.xx.test cn.itcast.test? 2. 定义测试方法:可以独立运行 * 建议: * 方法名:test测试的方法名 testAdd()  

Junit框架使用(4)--JUnit常用断言及注解

从别人博客中抄过来一点东西 原文地址:http://blog.csdn.net/wangpeng047/article/details/9628449 断言是编写测试用例的核心实现方式,即期望值是多少,测试的结果是多少,以此来判断测试是否通过. 断言核心方法 assertArrayEquals(expecteds, actuals) 查看两个数组是否相等. assertEquals(expected, actual) 查看两个对象是否相等.类似于字符串比较使用的equals()方法 assert

Java反射学习总结终(使用反射和注解模拟JUnit单元测试框架)

本文是Java反射学习总结系列的最后一篇了,这里贴出之前文章的链接,有兴趣的可以打开看看. http://blog.csdn.net/a396901990/article/category/2302221 本文介绍了如何利用反射和注解去简单的模拟JUnit4单元测试框架,之所以选择JUnit4是因为4.0以后最大的改进就是使用了注解.需要注意的是这里并不是完全的模拟,只是简单实现了一下Runner类和JUnit注解相关的工作流程.所以本文的主要目的是介绍反射和注解的使用.废话不多说,直接进入正文

junit常用注解详细说明

Java注解((Annotation)的使用方法是@注解名 ,能通过简单的词语来实现一些功能.在junit中常用的注解有@Test.@Ignore.@BeforeClass.@AfterClass.@Before.@After.@Runwith.@Parameters 以下是相关的介绍和使用说明: 一[email protected] 在junit3中,是通过对测试类和测试方法的命名来确定是否是测试,且所有的测试类必须继承junit的测试基类.在junit4中,定义一个 测试方法变得简单很多,只

自定义java注解(三) 实现Junit中的@Test、@Before、@After

前面两次的自定义注解,都只是解析了一个注解,今天要讲的junit需要三个注解,而且解析框架中反射激活方法时要根据Before.Test.After的顺序来执行,需要注意的是Test注解可能会有多个,所以我们在外面定义一个数组,用来存储所有由@Test标注的方法.下面来看一下具体实现 三个注解的定义 @Documented @Target(ElementType.METHOD) @Retention(RetentionPolicy.RUNTIME) @Inherited public @inter

java之 ------ JUnit、注解、类加载器

JUnit软件测试技术(工具) 在项目中建立专门用户测试的包结构. 在Junit中,通过@Test注解,可以运行一个方法(鼠标放在选择要运行的方法名上,单击右键,选择Run As,再选择JUnit Test即可). 这样做的好处就是不用在主代码中添加测试代码,避免了代码的冗余.而且一个测试类,可以测试多项功能,不需要main方法. 一. Junit注解说明 使用了@Test注解应该满足以下条件: 1) 必须是无参数的非静态方法. 2) 添加@Test注解的类,必须拥有一个无参数的公开构造 pac

JUnit 4 与 TestNG 对比

原文出处: 付学良的网志 原文出处2: http://www.importnew.com/16270.html -------------------------------------------- Junit 4 和 TestNG 都是 Java 方面非常流行的单元测试框架.在功能上两个框架都非常类似.到底哪个比较好?在Java项目中我们应该选择哪个框架? 下图将会对Junit 4 和 TestNG 做个功能特征的对比. 注解支持 Junit 4 和 TestNG 在注解方面的实现非常相似.

Junit&Jmock使用简介

Junit&Jmock简介 序言 2 1. 环境配置 2 2.一种比较好的命名方式 3 3. JUnit使用入门 4 3.1一种简单的实现 4 3.2添加初始化和销毁方法的实现 5 3.3对Java异常(Exception)的单元测试 8 3.4 Assert类 9 3.5小结 12 4.Jmock使用入门 12 4.1一种简单的实现 13 4.2 Expectations类 18 4.3小结 21 5.总结 22 序言 本文的写作目的旨在帮助大家用最少的时间学会使用Junit和Jmock,并能