在上篇文章中,我建立了工程并配置了spring + hibernate。今天我们检验下上篇文章的成果,如何检查呢?那就是进行单元测试。本篇文章就让大家和我一起来就前面的建的工程进行单元测试。
![]()
![]()
本项目使用Junit进行单元测试,需要引用单元测试的包,在的工程建立中已有了如何引入单元测试的依赖,这里就不多说了。要进行单元单元测试,我们就按下面的步骤进行
一:建立实体
本例是刚弄开始学习,所以表不弄得太复杂,我们就以用户登录为例:建立一个用户对象,拥有用户名和密码两个属性,密码开始也使用名文的方式。
在com.ympcsoft.sys.domain包中建立SysUser.java。代码如下
package com.ympcsoft.sys.domain;import javax.persistence.Column;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.GenerationType;import javax.persistence.Id;import javax.persistence.Table;//注解,说明这是实体类@Entity@Table(name = "SysUser")public class SysUser {//定义字段//主键字段,统一叫id@Id@GeneratedValue(strategy=GenerationType.IDENTITY) //字段自增长@Column(name = "id")private Long id;//用户名,32长度,不能为空@Column(name="USER_NAME", length=32, nullable = false)private String userName;//用户密码,32长度,不能为空@Column(name="USER_PWD", length=32, nullable=false)private String userPwd;//构造函数public SysUser() {super();// TODO Auto-generated constructor stub}public Long getId() {return id;}public void setId(Long id) {this.id = id;}public String getUserName() {return userName;}public void setUserName(String userName) {this.userName = userName;}public String getUserPwd() {return userPwd;}public void setUserPwd(String userPwd) {this.userPwd = userPwd;}}
二:建立SysUserDao文件
package com.ympcsoft.sys.dao;import javax.annotation.Resource;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.springframework.stereotype.Repository;import com.ympcsoft.sys.domain.SysUser;/*** 此处分层来讲应该是SysUserDao接口,然后实现,现在学习的需要,直接访问SessoinFactory* */@Repositorypublic class SysUserDao{//注解来源@Resource(name="sessionFactory")private SessionFactory sessionFactory;//保存用户public void addUser(SysUser sysUser) {//获取SessionSession session = sessionFactory.getCurrentSession();//持久到数据库session.persist(sysUser);}}
三:建立 SysUserService文件
package com.ympcsoft.sys.service;import javax.annotation.Resource;import org.springframework.stereotype.Service;import org.springframework.transaction.annotation.Transactional;import com.ympcsoft.sys.dao.SysUserDao;import com.ympcsoft.sys.domain.SysUser;@Transactional@Servicepublic class SysUserService {private SysUserDao sysUserDao;@Resourcepublic void setSysUerDao(SysUserDao sysUserDao){this.sysUserDao = sysUserDao;}public void addUser(SysUser sysUser){sysUserDao.addUser(sysUser);}}
四:建立测试文件SysUserTest(src/test/jav)
package services;import javax.annotation.Resource;import org.junit.Before;import org.junit.Test;import org.junit.runner.RunWith;import org.springframework.test.context.ContextConfiguration;import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;import com.ympcsoft.sys.dao.SysUserDao;import com.ympcsoft.sys.domain.SysUser;import com.ympcsoft.sys.service.SysUserService;@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration({ "classpath:spring.xml" })public class SysUserTest {@Resourceprivate SysUserDao sysUserDao;@Resourceprivate SysUserService sysUserService;@Beforepublic void setUp() throws Exception {}@Testpublic final void testSave() {SysUser sysUser = new SysUser();sysUser.setUserName("admin");sysUser.setUserPwd("123456");sysUserService.addUser(sysUser);}}
五:运行测试


如果测试通过,则数据表自动建好,数据也已插入