简单的可以这样理解它们,setup主要实现测试前的初始化工作,而teardown则主要实现测试完成后的垃圾回收等工作。

 

需要注意的是Junit3中每个测试方法执行时都会执行它们,而不是一个类中执行一次,查了查资料,JUnit4版本采用注解的方式可以实现一个类只执行一次,下面看看测试代码:

 

JUnit3.8.1版本:

import junit.framework.TestCase;
 
public class JUnitTest extends TestCase {
@Override
protected void setUp() throws Exception {
System.out.println("做一些前提条件的设置");
}
@Override
protected void tearDown() throws Exception {
System.out.println("释放一些资源");
}
public void testSomething1(){
System.out.println("执行单元测试testSomething1");
}
public void testSomething2(){
System.out.println("执行单元测试testSomething2");
}
}

执行结果:

做一些前提条件的设置

执行单元测试testSomething1

释放一些资源

做一些前提条件的设置

执行单元测试testSomething2

释放一些资源

 

 

JUnit4.4版本:

 

import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
 
public class JUnitTest4{
@BeforeClass
public static void setUpBeforeClass() throws Exception {
System.out.println("做一些前提条件的设置");
}
@AfterClass
public static void tearDownAfterClass() throws Exception {
System.out.println("释放一些资源");
}
@Test
public void test1() {
System.out.println("执行单元测试test1");
}
@Test
public void test2(){
System.out.println("执行单元测试test2");
}
 
}

执行结果:

做一些前提条件的设置

执行单元测试test1

执行单元测试test2

释放一些资源