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访问数据库是,频繁的打开连接和关闭连接,造成性能影响,所以有了连接池.数据库连接池负责分配.管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接, ...
随机推荐
- 漏洞利用教程:msfpayload 和 Backdooring EXEs
漏洞利用教程:msfpayload 和 Backdooring EXEs 此版本的PrimalSec漏洞教程系列将介绍如何使用msfpayload创建各种有效负载.msfpayload是Metaspl ...
- 第78节:Java中的网络编程(上)
第78节:Java中的网络编程(上) 前言 网络编程涉及ip,端口,协议,tcp和udp的了解,和对socket通信的网络细节. 网络编程 OSI开放系统互连 网络编程指IO加网络 TCP/IP模型: ...
- 【Spark调优】大表join大表,少数key导致数据倾斜解决方案
[使用场景] 两个RDD进行join的时候,如果数据量都比较大,那么此时可以sample看下两个RDD中的key分布情况.如果出现数据倾斜,是因为其中某一个RDD中的少数几个key的数据量过大,而另一 ...
- 朴素贝叶斯算法简介及python代码实现分析
概念: 贝叶斯定理:贝叶斯理论是以18世纪的一位神学家托马斯.贝叶斯(Thomas Bayes)命名.通常,事件A在事件B(发生)的条件下的概率,与事件B在事件A(发生)的条件下的概率是不一样的:然而 ...
- dpkg: 处理软件包 qjackctl (--configure)时出错解决方法
第一步:备份 $ sudo mv /var/lib/dpkg/info /var/lib/dpkg/info.bk 第二步:新建 $ sudo mkdir /var/lib/dpkg/info 第三步 ...
- js自定义水印
前言:今天在github上看到了一个定义水印的项目,因为获取的星星还蛮多,就多看了几眼,发现该项目简单有趣,心想以后可能会用的到,并且我下载到本地并亲自测试运行了一波.其实该项目最吸引我的是它定义js ...
- python基础-列表(7)
一.列表格式 列表名 = [列表元素1,列表元素2,列表元素3,… ] 说明: 列表元素之间是有顺序的,也是通过下标表示,第一个元素的小标为0. 列表元素可以不是同种类型,任何类型都行 列表通常当做容 ...
- 【学习笔记】分类算法-k近邻算法
k-近邻算法采用测量不同特征值之间的距离来进行分类. 优点:精度高.对异常值不敏感.无数据输入假定 缺点:计算复杂度高.空间复杂度高 使用数据范围:数值型和标称型 用例子来理解k-近邻算法 电影可以按 ...
- Maven 概要介绍
Maven 简介 Apache Maven 是一套软件工程管理和整合工具.基于工程对象模型(POM)的概念,通过一个中央信息管理模块,Maven 能够管理项目的构建.报告和文档. Maven 工程结构 ...
- 纯 Html 5的 简单 TreeView 保存下思路以后有机会再完善。
details p{margin-left:30px;}details.root details{margin-left:13px;} </style> <details class ...