JUnit4注解
今天学习了下,mybatis中开发dao的方法,用到了JUnit4进行单元测试,
将JUnit4中的注解总结了下,供大家参考学习:
JUnit 4 开始使用 Java 5 中的注解(annotation),常用的几个 annotation 介绍:
@BeforeClass:针对所有测试方法,只执行一次,且方法声明必须为static void
@Before:初始化方法(在测试方法之前执行)
@Test:测试方法,在这里可以进行具体的测试
@After:释放资源 (在测试方法之后执行)
@AfterClass:针对所有测试方法,只执行一次,且方法声明必须为static void
@Ignore:忽略的测试方法
一个单元测试用例执行顺序为: @BeforeClass –> (@Before –> @Test –> @After)...–> @AfterClass
其中每一个测试方法的调用顺序为: @Before –> @Test –> @After
如果只执行一个单元测试用例中的一个方法,则执行顺序为:@BeforeClass –> @Before –> @Test –> @After –> @AfterClass
测试类代码如下:
package org.pine.mybatis.dao.impl; import java.io.IOException;
import java.io.InputStream;
import java.sql.Date;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Ignore;
import org.junit.Test;
import org.pine.mybatis.dao.UserDao;
import org.pine.mybatis.po.User; public class UserDaoImplTest { private static SqlSessionFactory sqlSessionFactory; @BeforeClass
public static void initTest() throws IOException{
System.out.println("initTest");
String fileName ="SqlMapConfig.xml";
InputStream inputStream = Resources.getResourceAsStream(fileName);
sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
} @AfterClass
public static void destoryTest(){
System.out.println("destoryTest");
} @Before
public void setUp() throws Exception {
System.out.println("setUp");
} @After
public void tearDown() throws Exception {
System.out.println("tearDown");
} @Ignore
@Test
public void testInsertUser() throws ParseException {
UserDao userDao = new UserDaoImpl(sqlSessionFactory);
User user = new User();
user.setUsername("武利丹");
user.setBirthday(new Date(new SimpleDateFormat("yyyy-MM-dd").parse("1990-06-18").getTime() ));
user.setSex("女");
user.setAddress("河南安阳");
userDao.insertUser(user);
} @Ignore
@Test
public void testGetUserById() {
UserDao userDao = new UserDaoImpl(sqlSessionFactory);
int id = 28;
User user= userDao.getUserById(id);
System.out.println(user);
} @Ignore
@Test
public void testUpdateUser() throws ParseException {
UserDao userDao = new UserDaoImpl(sqlSessionFactory);
User user = new User();
user.setId(36);
user.setUsername("孙坤鹏");
user.setBirthday(new Date(new SimpleDateFormat("yyyy-MM-dd").parse("1991-09-13").getTime()));
user.setSex("男");
user.setAddress("河南新乡12345~~~");
userDao.updateUser(user);
} @Test
public void testDeleteUser() {
UserDao userDao = new UserDaoImpl(sqlSessionFactory);
Integer id = 40;
userDao.deleteUser(id);
} }
JUnit4注解的更多相关文章
- JUnit4注解基本介绍
@After If you allocate external resources in a Before method you need to release them after the test ...
- Junit4常用注解
Junit4注解 JUnit4的测试类不用再继承TestCase类了.使用注解会方便很多. @Before:初始化方法@After:释放资源@Test:测试方法,在这里可以测试期望异常和超时时间@Ig ...
- JUnit4教程-高速入口
前言 大学刚学java当听说JUnit该,单元测试框架,使用非常简单的测试框架,JUnit测试测试框架将更加方便,easy.编写測试代码也是简单.明了,功能强大.今天我给大家简单分享一下最新JUnit ...
- JAVA Junit4
JAVA Junit4 测试框架 序言 刚学Java的时候就听说过JUnit了,单元测试框架,很好用的测试框架,JUnit测试 ...
- junit4单元测试基础
导入方法看如下截图就明白了: 新建测试用例 右击包名,点击新建,或者新建里的others,选择JUnit test case,如下图所示: 接下来,给测试类起名字和选择要测试的类,如下图所示: ...
- 使用 JUnit 进行单元测试 - 教程
tanyuanji@126.com 版本历史 JUnit 该教程主要讲解 JUnit 4.x 版本的使用,以及如何在Eclipse IDE 中如何使用JUnit 目录 tanyuanji@126. ...
- 【转】Java JUnit 单元测试小结
原文链接:https://segmentfault.com/a/1190000006731125 测试类型 单元测试(Unit test) 单元测试关注单一的类. 它们存在的目的是检查这个类中的代码是 ...
- Java单元测试学习
单元测试的好处 1. 让你写出更好的代码:职业高内聚.低耦合而且接口设计合理的代码才易于测试: 2. 让你在修改代码时更有信心. JUnit4 注解 @Test (expected = Excepti ...
- Spring DAO
Spring DAO 连接池 使用JDBC访问数据库是,频繁的打开连接和关闭连接,造成性能影响,所以有了连接池.数据库连接池负责分配.管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接, ...
随机推荐
- 虚拟机安装mysql
安装mysql8.0方法: 1.首先,ubuntu安装mysql8.0(此版本比较好装),所以要先更新一下源,去MySQL官网http://dev.mysql.com/downloads/repo/ ...
- 第59节:Java中的html和css语言
欢迎到我的简书查看我的文集 前言: HTML 英文: HyperText Markup Language内容 html是超文本标记语言,是网页语言的基础知识,html是通过标签来定义的语言,所有代码都 ...
- [Swift]错误提示:Method does not override any method from its superclass
问题原因:方法名称书写错误! ViewController 生命周期 // 加载视图时会调用该方法 override func loadView() { super.loadView() print( ...
- [P4721] 分治 FFT
「题意」给定\(g[0]=1\),\(g[1~n-1]\)求序列\(f[i]=\sum_{j=1}^i f[i-j]*g[j]\ , i\in[1,n-1],f[0]=1\). 「分析」分治处理区间[ ...
- odoo开发笔记 -- self详解
python中一切皆对象! odoo基于python开发,那么odoo中也可以理解成一切皆对象. 我们在python中定义类的时候,一般会用到self,用来表示当前对象自己. 那么odoo中的self ...
- Redis(2)---数据持久化
数据持久化 Redis有两种持久化的方式:快照(RDB文件)和追加式文件(AOF文件) (1)RDB持久化方式是在一个特定的间隔保存某个时间点的一个数据快照.(默认模式) (2)以日志的形式来记录每个 ...
- Oracle客户端连接数据库配置
配置文件和路径 配置文件:tnsnames.ora 默认路径:%ORACLE_HOME%\network\admin\tnsnames.ora,%ORACLE_HOME%通常在环境变量中使用. 我的路 ...
- Android--UI之ImageView
前言 这篇博客聊一聊在Android下ImageView的使用,在此篇博客中,会讲解到ImageView的一些属性的使用,以及ImageView展示图片的放大.缩小.旋转等操作.最后再讲解一下Andr ...
- threadid=1: thread exiting with uncaught exception (group=0x40fca9a8)的问题
今天在项目开发中碰到了这样一个问题: 项目在Nexus5[Android 6.0]上面运行正常,在华为荣耀6[Android 4.4.2]上面运行到指定activity崩溃(不是应用启动崩溃):然后后 ...
- 【转载】“宇宙最强” IDE,Visual Studio 2019 正式发布
转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 本文由葡萄城翻译并发布 今天凌晨Visual Studio 2019已经正式发布,现在已经可以下载了.使用V ...