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

 

测试类代码如下:

 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 }

 

posted @ 2018-06-18 20:56  松松敲代码  阅读(614)  评论(0编辑  收藏  举报