博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JUnit单元测试中的setUpBeforeClass()、tearDownAfterClass()、setUp()、tearDown()方法小结
阅读量:5970 次
发布时间:2019-06-19

本文共 1586 字,大约阅读时间需要 5 分钟。

 

编写JUnit单元测试的时候,会用到 setUpBeforeClass()、tearDownAfterClass()、setUp()、tearDown()这四个方法,例如用 eclipse新建一个junit test case的时候,就会有如下图1的窗口让你去选择使用哪些方法(也可以不使用):

图1:选择使用哪些方法

上面这四个方法到底有什么用处,以及使用什么修饰符,看下面的这个例子就知道了:

 
import 
org.junit.After;
import 
org.junit.AfterClass;
import 
org.junit.Before;
import 
org.junit.BeforeClass;
import 
org.junit.Test;
 
public 
class 
UserEntityTest {
 
    
@BeforeClass
    
public 
static 
void 
setUpBeforeClass() 
throws 
Exception {
        
System.out.println(
"this is setUpBeforeClass..."
);
    
}
 
    
@AfterClass
    
public 
static 
void 
tearDownAfterClass() 
throws 
Exception {
        
System.out.println(
"this is tearDownAfterClass..."
);
    
}
 
    
@Before
    
public 
void 
setUp() 
throws 
Exception {
        
System.out.println(
"this is setUp..."
);
    
}
 
    
@After
    
public 
void 
tearDown() 
throws 
Exception {
        
System.out.println(
"this is tearDown..."
);
    
}
 
    
@Test
    
public 
void 
testGetUserId() {
        
System.out.println(
"this is testGetUserId..."
);
    
}
 
    
@Test
    
public 
void 
testGetUserName() {
        
System.out.println(
"this is testGetUserName..."
);
    
}
 
}
 

上面这段代码的运行结果如下:

 
this is setUpBeforeClass...
this is setUp...
this is testGetUserName...
this is tearDown...
this is setUp...
this is testGetUserId...
this is tearDown...
this is tearDownAfterClass.

看代码,再看结果,可以很明显的发现:

(1) 使用@BeforeClass修饰的setUpBeforeClass()方法,在类中所有的方法执行之前执行;那么,使用@AfterClass修饰的 tearDownAfterClass()方法则与之完全相反;可以看到这两个方法都被static修饰,在类加载以后,这两个方法就会被加载,并且只会 存在一份。

(2)使用@Before修饰的setUp()方法,在每一个@Test测试方法执行之前执行;那么,使用@After修饰的tearDown()方法则与之完全相反。

如果测试的程序使用jdbc连接数据库,那么setUpBeforeClass()方法中就可以写上初始化数据库连接的一些代码,tearDownAfterClass()方法中就可以写上关闭数据库连接的一些代码

转载于:https://www.cnblogs.com/zhengah/p/4798686.html

你可能感兴趣的文章
1.2. MariaDB
查看>>
SpringSide示例之HelloWorld
查看>>
日志不说谎--Asp.net的生命周期
查看>>
C#~异步编程续~.net4.5主推的await&async应用
查看>>
ASP.NET 运行机制详解
查看>>
在 ML2 中配置 OVS vlan network - 每天5分钟玩转 OpenStack(136)
查看>>
Selenium2+python自动化34-获取百度输入联想词
查看>>
【★★★★★】提高PHP代码质量的36个技巧
查看>>
如何解决/home/oracle: is a directory报警
查看>>
BaaS API 设计规范
查看>>
bootloader功能介绍/时钟初始化设置/串口工作原理/内存工作原理/NandFlash工作原理...
查看>>
iOS开发UI篇—Quartz2D使用(矩阵操作)
查看>>
C++ 构造函数与析构函数
查看>>
Python快速教程
查看>>
ssh免密码登录
查看>>
Linux下Django环境安装
查看>>
如何在指定的内容中找出指定字符串的个数
查看>>
我的友情链接
查看>>
浅谈如何用We7站群平台打造垂直性政务网站
查看>>
我的友情链接
查看>>