`
liqita
  • 浏览: 287426 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

JUnit 4 使用 Java 5 中的注解(annotation),以下是JUnit 4 常用的几个 annotation 介绍

阅读更多

 

JUnit 4 中的Before After Ignore Test BeforeClass AfterClass


@BeforeClass:针对所有测试,只执行一次,且必须为static void

@Before:初始化方法

@Test:测试方法,在这里可以测试期望异常和超时时间

@Ignore:忽略的测试方法

@After:释放资源

@AfterClass:针对所有测试,只执行一次,且必须为static void

 

一个JUnit 4 的单元测试用例执行顺序为:

@BeforeClass –> @Before –> @Test –> @After –> @AfterClass

每一个测试方法的调用顺序为:

@Before –> @Test –> @After

写个例子测试一下,测试一下

package junit4;

import org.junit.*;

import static org.junit.Assert.*;

 

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
@After
Test 'net.im47.demo.junit.JUnit4Test.testIgnore' ignored
@Before
@Test(50)
@After
@Before
@Test(Exception.class)
@After
@AfterClass

 


对比:

@BeforeClass  @AfterClass 对于那些比较昂贵的资源的分配或者释放来说是很有效的,因为他们只会在类中被执行一次。相比之下对于那些需要在每次运行之前都要初始化或者在运行之后都需要被清理的资源来说使用@Before@After同样是一个比较明智的选择。

@BeforeClass and @AfterClass

@Before and @After

在一个类中只可以出现一次

在一个类中可以出现多次,即可以在多个方法的声明前加上这两个Annotaion标签,执行顺序不确定

方法名不做限制

方法名不做限制

在类中只运行一次

在每个测试方法之前或者之后都会运行一次

@BeforeClass父类中标识了该Annotation的方法将会先于当前类中标识了该Annotation的方法执行。
@AfterClass
父类中标识了该Annotation的方法将会在当前类中标识了该Annotation的方法之后执行

@Before父类中标识了该Annotation的方法将会先于当前类中标识了该Annotation的方法执行。
@After
父类中标识了该Annotation的方法将会在当前类中标识了该Annotation的方法之后执行

必须声明为public static

必须声明为public 并且非static

所有标识为@AfterClass的方法都一定会被执行,即使在标识为@BeforeClass的方法抛出异常的的情况下也一样会。

所有标识为@After 的方法都一定会被执行,即使在标识为 @Before 或者 @Test 的方法抛出异常的的情况下也一样会。

 

 

分享到:
评论

相关推荐

    单元测试利器 JUnit 4

    详细的介绍了junit单元测试的过程,JUnit 是 Java 社区中知名度最高的单元测试工具,本文中所介绍的是最新的JUnit 4单元测试,JUnit 4 使用 Java 5 中的注解(annotation)使测试变得更加简单

    java自定义注解\标签库\监听\junit简单测试

    java自定义 注解 annotation、标签库tag、监听listener、junit简单测试代码

    Junit4教程非常详尽

    JUnit4是JUnit框架有史以来的最大改进,其主要目标便是利用Java5的Annotation特性简化测试用例的编写。

    junit 4 资料

    它大大简化了开发人员执行单元测试的难度,特别是 JUnit 4 使用 Java 5 中的注解(annotation)使测试变得更加简单。 在单元测试前首先规划单元测试代码应放在什么地方。把它和被测试代码混在一起,这显然会照成混乱...

    junit4.1.jar

    junit4的jar包,使用annotation进行junit测试!

    JUnit 4 抢先看.doc

    JUnit 是 Java™ 语言事实上的 标准单元测试库。...在本文中,执着的代码测试人员 Elliotte Harold 以 JUnit 4 为例,详细介绍了如何在自己的工作中使用这个新框架。注意,本文假设读者具有 JUnit 的使用经验。

    JUnit4学习笔记

    JUnit4是JUnit框架有史以来的最大改进,其主要目标便是利用Java5的Annotation特性简化测试用例的编写。 先简单解释一下什么是Annotation,这个单词一般是翻译成元数据。元数据是什么?元数据就是描述数据的数据。也...

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

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

    JUnit4详解

    JUnit4是JUnit框架有史以来的最大改进,其主要目标便是利用Java5的Annotation特性简化测试用例的编写。

    test.junit-4.5.jar和test.junit-4.5-sources.jar

    单元测试所需的junit jar包,里面包含class jar 和...它的新特性主要是针对JAVA5中的标记(annotation)来简化测试,而不是利用子类、反射或命名机制。本文将讲述如何使用JUnit 4,当前前提是你最好具有JUnit的使用经验.

    单元测试利器JUnit4

    本文内容包括:引言JUnit4初体验JUnit深入JUnit和Ant总结本文主要介绍了如何使用JUnit4提供的各种功能开展有效的单元测试,并通过一个实例演示了如何使用Ant执行自动化的单元测试。本文假设读者对Eclipse下进行Java...

    JUnit4_02.zip

    JUnit4视频教程及源码,由于文件较大,分割为JUnit4_01.zip,JUnit4_02.zip,JUnit4_03.zip三个压缩包并附文档,下载后解压便可观看视频,导入代码,直接在自己的机器上运行

    JUnit4单元测试入门详解.pdf

    JUnit4 主要目标便是利用Java5 的Annotation 特性简化测试用例的编写

    junit4.11.chm

    java单元测试框架junit4.11版,基于annotation(注解)的junit帮助手册

    Spring In Action-2.1-01-@Component注解

    import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; @RunWith(SpringJUnit4ClassRunner.class)//Spring的Junit测试,会在测试开始时,创建Spring的应用上下文 @ContextConfiguration...

    Junit4教程

    JUnit4是JUnit框架有史以来的最大改进,其主要目标便是利用Java5的Annotation特性简化测试用例的编写。

    java开发常用jar包

    Apache Commons包中的一个,包含了一些Apache开发的集合类,功能比java.util.*强大 commons-lang.jar Apache Commons包中的一个,包含了一些数据类型工具类,是java.lang.*的扩展。必须使用的jar包。 commons-...

    spring2.5开发参考手册

    这些新特性包括:注解驱动的依赖性注入(annotation-driven dependency injection),使用注解而非XML元数据来自动侦测classpath上的Spring组件,注解对生命周期方法的支持,一个新的web控制器模型将请求映射到加...

    说说JUnit4下的单元测试用例的使用

    为了让JUnit发现系统的测试用例和测试方法,JUnit提供了Annotation修饰.@Test:所有希望被运行的测试方法都应该使用该Annotation@Before:如果希望每次运行测试方法之前先运行指定的回收资源的方法,则该回收资源的...

Global site tag (gtag.js) - Google Analytics