使用junit测试用例
生活随笔
收集整理的這篇文章主要介紹了
使用junit测试用例
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
通常只會(huì)使用junit測(cè)試非main方法,在我眼里就是程序入口實(shí)現(xiàn)而已。今天,發(fā)現(xiàn)原來(lái)可以測(cè)試類。
針對(duì)mybatis練習(xí)。在需要測(cè)試的UserDaoImpl類上右鍵,新建一個(gè)junit case,位置可以放到新創(chuàng)建的source folder :test里面。
選擇需要測(cè)試的方法:
?
然后就會(huì)生成一個(gè)測(cè)試方法,自己補(bǔ)足測(cè)試方法就好:
1 package cn.mrf.mybatis.dao; 2 3 import static org.junit.Assert.*; 4 5 import java.io.InputStream; 6 7 import org.apache.ibatis.io.Resources; 8 import org.apache.ibatis.session.SqlSession; 9 import org.apache.ibatis.session.SqlSessionFactory; 10 import org.apache.ibatis.session.SqlSessionFactoryBuilder; 11 import org.junit.Before; 12 import org.junit.Test; 13 14 import cn.mrf.mybatis.po.User; 15 16 public class UserDaoImplTest { 17 18 private SqlSessionFactory sqlSessionFactory; 19 20 //此方法是在執(zhí)行testFindUserById之前執(zhí)行 21 @Before 22 public void setUp() throws Exception{ 23 //創(chuàng)建sqlSessionFactory 24 //mybatis配置文件 25 String resource = "SqlMapConfig.xml"; 26 27 InputStream inputStream = Resources.getResourceAsStream(resource); 28 //創(chuàng)建會(huì)話工廠,傳入mybatis的配置文件信息 29 sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); 30 31 } 32 33 @Test 34 public void testFindUserById() throws Exception { 35 //創(chuàng)建UserDao對(duì)象 36 UserDao userDao = new UserDaoImpl(sqlSessionFactory); 37 //調(diào)用 38 User user = userDao.findUserById(1); 39 40 System.out.println(user); 41 } 42 43 }下面是被測(cè)試的類:
1 package cn.mrf.mybatis.dao; 2 3 import java.util.List; 4 5 import org.apache.ibatis.session.SqlSession; 6 import org.apache.ibatis.session.SqlSessionFactory; 7 8 import cn.mrf.mybatis.po.User; 9 /** 10 * 11 * @ClassName: UserDaoImpl 12 * @Description: 接口實(shí)現(xiàn)類 13 * @author mrf 14 * @date 2015-9-19 下午05:57:03 15 * 16 */ 17 public class UserDaoImpl implements UserDao { 18 19 // 需要向dao實(shí)現(xiàn)類中注入SqlSessionFactory 20 // 這里通過(guò)構(gòu)造方法注入 21 private SqlSessionFactory sqlSessionFactory; 22 23 public UserDaoImpl(SqlSessionFactory sqlSessionFactory) { 24 this.sqlSessionFactory = sqlSessionFactory; 25 } 26 27 28 @Override 29 public User findUserById(int id) throws Exception { 30 //sqlSession是線程不安全的,所以單獨(dú)使用 31 SqlSession sqlSession = sqlSessionFactory.openSession(); 32 33 User user = sqlSession.selectOne("test.findUserById",id); 34 35 //釋放資源 36 sqlSession.close(); 37 return user; 38 } 39 40 @Override 41 public List<User> findUserByName(String name) throws Exception { 42 SqlSession sqlSession = sqlSessionFactory.openSession(); 43 44 List<User> list = sqlSession.selectList("test.findUserByName",name); 45 46 //釋放資源 47 return list; 48 } 49 50 @Override 51 public void insertUser(User user) throws Exception { 52 SqlSession sqlSession = sqlSessionFactory.openSession(); 53 //執(zhí)行插入 54 sqlSession.insert("test.insertUser",user); 55 56 //提交事物 57 sqlSession.commit(); 58 // 釋放資源 59 sqlSession.close(); 60 61 62 } 63 64 @Override 65 public void deleteUser(int id) throws Exception { 66 SqlSession sqlSession = sqlSessionFactory.openSession(); 67 68 //執(zhí)行插入操作 69 sqlSession.delete("test.deleteUser", id); 70 71 // 提交事務(wù) 72 sqlSession.commit(); 73 74 // 釋放資源 75 sqlSession.close(); 76 } 77 78 }?
轉(zhuǎn)載于:https://www.cnblogs.com/woshimrf/p/4821952.html
總結(jié)
以上是生活随笔為你收集整理的使用junit测试用例的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 父div高度和宽度的应用
- 下一篇: 招行e招贷随借随还有期限吗?了解清楚再借