使用junit测试用例
来源:互联网 发布:加工中心钻孔手动编程 编辑:程序博客网 时间:2024/05/12 03:56
通常只会使用junit测试非main方法,在我眼里就是程序入口实现而已。今天,发现原来可以测试类。
针对mybatis练习。在需要测试的UserDaoImpl类上右键,新建一个junit case,位置可以放到新创建的source folder :test里面。
选择需要测试的方法:
然后就会生成一个测试方法,自己补足测试方法就好:
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 //此方法是在执行testFindUserById之前执行21 @Before22 public void setUp() throws Exception{23 //创建sqlSessionFactory24 //mybatis配置文件25 String resource = "SqlMapConfig.xml";26 27 InputStream inputStream = Resources.getResourceAsStream(resource);28 //创建会话工厂,传入mybatis的配置文件信息29 sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); 30 31 }32 33 @Test34 public void testFindUserById() throws Exception {35 //创建UserDao对象36 UserDao userDao = new UserDaoImpl(sqlSessionFactory);37 //调用38 User user = userDao.findUserById(1);39 40 System.out.println(user);41 }42 43 }
下面是被测试的类:
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: 接口实现类13 * @author mrf14 * @date 2015-9-19 下午05:57:03 15 *16 */17 public class UserDaoImpl implements UserDao {18 19 // 需要向dao实现类中注入SqlSessionFactory20 // 这里通过构造方法注入21 private SqlSessionFactory sqlSessionFactory;22 23 public UserDaoImpl(SqlSessionFactory sqlSessionFactory) {24 this.sqlSessionFactory = sqlSessionFactory;25 }26 27 28 @Override29 public User findUserById(int id) throws Exception {30 //sqlSession是线程不安全的,所以单独使用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 @Override41 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 @Override51 public void insertUser(User user) throws Exception {52 SqlSession sqlSession = sqlSessionFactory.openSession();53 //执行插入54 sqlSession.insert("test.insertUser",user);55 56 //提交事物57 sqlSession.commit();58 // 释放资源59 sqlSession.close();60 61 62 }63 64 @Override65 public void deleteUser(int id) throws Exception {66 SqlSession sqlSession = sqlSessionFactory.openSession();67 68 //执行插入操作69 sqlSession.delete("test.deleteUser", id);70 71 // 提交事务72 sqlSession.commit();73 74 // 释放资源75 sqlSession.close();76 }77 78 }
0 0
- 使用junit测试用例
- Junit中使用测试用例
- junit测试用例
- junit 测试用例
- Eclipse中使用Junit编写测试用例
- Spring 使用Junit的MockMvc 写测试用例
- 使用JUnit测试代码
- 使用JUnit进行测试
- 使用JUnit 进行测试
- android 使用Junit测试
- 使用 JUnit 测试 FindReplaceDocumentAdapter
- Android使用Junit测试
- 使用Junit测试
- 使用junit测试SpringMVC
- myeclipse 使用 junit测试
- 使用Junit测试
- junit 使用JUnit测试预期异常
- JUnit 编写测试用例的建议
- CSS布局 ——从display,position, float属性谈起
- 中介者模式——对象行为型模式
- web项目中,视图层中关于相对路径和绝对路径
- Python Web 开发学习 - 学习笔记(4)- Python的编码规则
- eclipse中断点调试debug
- 使用junit测试用例
- Codeforces 605A Sorting Railway Cars [贪心]
- Mybatis学习错误之:重复加载mapper.xml
- mybatis错误之配置文件属性配置问题
- 关于直接打开ICE demo的exe文件的错误提示“无法启动此程序,因为计算机中丢失MSVCP100D.dll.”
- JAVA去除ASCLL码为160的空格
- C++内存管理
- uva 10375算术基本定理(约分)
- spring学习遇到的问题汇总