【JUnit】BeforeClass、AfterClass、Before与After示例

转载 2016年05月31日 22:49:31

一、初始化标注

在老Junit4提供了setUp()和tearDown(),在每个测试函数调用之前/后都会调用。

@Before: Method annotated with @Before executes before every test.
@After:   Method annotated with @After executes after every test.

 

如果在测试之前有些工作我们只想做一次,用不着每个函数之前都做一次。比如读一个很大的文件。那就用下面两个来标注:

@BeforeClass
@AfterClass

注意:

@Before/@After 可以有多个; @BeforeClass/@AfterClass 只有一个

如果我们预计有Exception,那就给@Test加参数:

@Test(expected XXXException.class)

 

如果出现死循环怎么办?这时timeout参数就有用了:

@Test(timeout 1000)

 

如果我们暂时不用测试一个用例,我们不需要删除或都注释掉。只要改成:

@Ignore

你也可以说明一下原因@Ignore("something happens")

  测试加载顺序


【代码片段】

public class TestIt {
private TestJUnit tju = null;
@BeforeClass
public static void enter() {
System.out.println("进来了!");
}
@Before
public void init() {
System.out.println("正在初始化。。");
tju = new TestJUnit();
System.out.println("初始化完毕!");
} @Test
 public void testit() { 
tju.run();
}
@After
public void destroy() {
System.out.println("销毁对象。。。");
tju = null;
System.out.println("销毁完毕!");
}
@AfterClass
public static void leave() {
System.out.println("离开了!");
}
}

【运行结果】

进来了!
正在初始化。。
初始化完毕!
Hello,JUnit
销毁对象。。。
销毁完毕!
离开了!

相关文章推荐

JUnit(>4.0)@BeforeClass、@Before、@Test、@After、@AfterClass、@Ignore

JUnit 4 开始使用 Java 5 中的注解(annotation),常用的几个 annotation 介绍: @BeforeClass:针对所有测试,只执行一次,且必须为static void...
  • xwfaoi
  • xwfaoi
  • 2011年08月26日 14:16
  • 2903

JUnit4 中@AfterClass @BeforeClass @after @before的区别对比

@BeforeClass and @AfterClass @Before and @After 在一个类中只可以出现一次在一个类中可以出现多次,即可以在多个方法的声明前加上这两个Annotaion标签...

Junit4的使用(@Test @Before @After @BeforeClass @AfterClass @Ignore)

@BeforeClass:类前执行,针对所有测试,只执行一次,且必须为static void。 @Before:方法前执行,多个Test方法时执行多次。非静态。 @Test:测试方法,在这...

关于 junit4 中的 @Before @After @BeforeClass @AfterClass @Ignore 和 timeout expected 的使用

学习了junit4 测试框架后,领略了这个优秀框架的短小精悍,并对@Before @After @BeforeClass @AfterClass  @Ignore 和 timeout  expecte...

Junit 实例精讲基础教程(一) 认识Junit基本注解@Before、@After、@Test、@BeforeClass、@AfterClass

Junit中集中基本注解,是必须掌握的。 @BeforeClass– 表示在类中的任意public static void方法执行之前执行 @AfterClass – 表示在类中的任意public s...

Java单元测试中@BeforeClass,@Before,@Test,@After,@AfterClass中的问题详解

Java单元测试:@BeforeClass,@Before,@Test,@After,@AfterClass中的问题详解 在Junit4中还有的测试注解有:  @BeforeClass ...

Robotium编写测试用例如何模拟Junit4的BeforeClass和AfterClass方法2 - SingleLaunchActivityTestCase

在上一遍笔记 SingleLaunchActivityTestCase extends InstrumentationTestCase java.lang.Object    ...

Hibernate下搭建JUNIT的测试环境,使用beforeclass和afterclass实现sessionFactory建立一次

sessionFactory建立一次除了beforeclass和afterclass,还有单例,static语句块两种方法 实体类: package com.zzk.hibernate.m...

Robotium编写测试用例如何模拟Junit4的BeforeClass和AfterClass方法1 - 条件判断法

Robotium的测试类ActivityInstrumentationTestCase2继承了TestCase类,即robotiom的测试类是junit3的实例,并没有junit4的特征...

【JUnit】[bug] BeforeClass 和 AfterClass 不执行

学习 hibernate 的时候用 Junit 测试写好的增删改查方法,希望用 BeforeClass 和 AfterClass 来先一步初始化 Configuration 和 SessionFact...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【JUnit】BeforeClass、AfterClass、Before与After示例
举报原因:
原因补充:

(最多只允许输入30个字)