今天学习了下,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
测试类代码如下:
1 package org.pine.mybatis.dao.impl;
2
3 import java.io.IOException;
4 import java.io.InputStream;
5 import java.sql.Date;
6 import java.text.ParseException;
7 import java.text.SimpleDateFormat;
8 import org.apache.ibatis.io.Resources;
9 import org.apache.ibatis.session.SqlSessionFactory;
10 import org.apache.ibatis.session.SqlSessionFactoryBuilder;
11 import org.junit.After;
12 import org.junit.AfterClass;
13 import org.junit.Before;
14 import org.junit.BeforeClass;
15 import org.junit.Ignore;
16 import org.junit.Test;
17 import org.pine.mybatis.dao.UserDao;
18 import org.pine.mybatis.po.User;
19
20 public class UserDaoImplTest {
21
22 private static SqlSessionFactory sqlSessionFactory;
23
24
25 @BeforeClass
26 public static void initTest() throws IOException{
27 System.out.println("initTest");
28 String fileName ="SqlMapConfig.xml";
29 InputStream inputStream = Resources.getResourceAsStream(fileName);
30 sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
31 }
32
33 @AfterClass
34 public static void destoryTest(){
35 System.out.println("destoryTest");
36 }
37
38
39 @Before
40 public void setUp() throws Exception {
41 System.out.println("setUp");
42 }
43
44 @After
45 public void tearDown() throws Exception {
46 System.out.println("tearDown");
47 }
48
49 @Ignore
50 @Test
51 public void testInsertUser() throws ParseException {
52 UserDao userDao = new UserDaoImpl(sqlSessionFactory);
53 User user = new User();
54 user.setUsername("武利丹");
55 user.setBirthday(new Date(new SimpleDateFormat("yyyy-MM-dd").parse("1990-06-18").getTime() ));
56 user.setSex("女");
57 user.setAddress("河南安阳");
58 userDao.insertUser(user);
59 }
60
61 @Ignore
62 @Test
63 public void testGetUserById() {
64 UserDao userDao = new UserDaoImpl(sqlSessionFactory);
65 int id = 28;
66 User user= userDao.getUserById(id);
67 System.out.println(user);
68 }
69
70 @Ignore
71 @Test
72 public void testUpdateUser() throws ParseException {
73 UserDao userDao = new UserDaoImpl(sqlSessionFactory);
74 User user = new User();
75 user.setId(36);
76 user.setUsername("孙坤鹏");
77 user.setBirthday(new Date(new SimpleDateFormat("yyyy-MM-dd").parse("1991-09-13").getTime()));
78 user.setSex("男");
79 user.setAddress("河南新乡12345~~~");
80 userDao.updateUser(user);
81 }
82
83
84 @Test
85 public void testDeleteUser() {
86 UserDao userDao = new UserDaoImpl(sqlSessionFactory);
87 Integer id = 40;
88 userDao.deleteUser(id);
89 }
90
91 }
来源:https://www.cnblogs.com/thaipine/p/9196103.html