如标题,该篇展示我是怎么使用ssm进行测试的。
步骤一:导出项目(备份,万一项目炸了我可负责不了的~ ~ ~)
步骤二:导包(点击下载,密码:8820,那些数据库,mybatis的包就不列了,举重要的)
junit-4.9.jar
validation-api-2.0.1.Final.jar
hibernate-validator-6.0.14.Final.jar
classmate-1.0.0.jar
spring的Test包(除了这个,其他我会在上面打包好放到某云不用你们一个个下载)
注意:我这里用环境是jdk1.8,spring4.1,所以尽量采用新的包1.8的,以防止出现版本冲突,如jdk1.8会对4.0以下的spring不兼容(降低jdk版本或升级spring版本解决),而且会对一些老的包不兼容,如(validation-api-1.0.0.GA.jar、hibernate-validator-4.3.0.Final.jar),然后就出bug
org.hibernate.validator.internal.engine.ConfigurationImpl.getDefaultParameterNameProvider()Ljavax/validation/ParameterNameProvider;
org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘(inner bean)#72cf4dc6’: Cannot resolve reference to bean ‘validator’ while setting bean property ‘validator’; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘validatorH’ defined in class path resource [spring/springmvc.xml]: Invocation of init method failed; nested exception is java.lang.AbstractMethodError:
以上两个就是我遇到的版本不兼容bug,还有就是缺少classmate包的,找不到控制台了信息了,就不贴问题了。
步骤三:测试代码(看这个人的,总结的概念齐全,我基本是跟着他来敲的)
新建基类加载spring、mybatis等配置文件
BaseTest.java
package cn.campus.fleasstore.ssm.junit;
import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.context.transaction.TransactionConfiguration;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration({"classpath:mybatis/sqlMapConfig.xml",
"classpath:spring/applicationContext-dao.xml",
"classpath:spring/applicationContext-service.xml",
"classpath:spring/applicationContext-transaction.xml",
"classpath:spring/springmvc.xml"})
@TransactionConfiguration(transactionManager="transactionManager",defaultRollback=true)
public class BaseTest {
}
再在测试类中继承基类
package cn.campus.fleasstore.ssm.junit;
import java.util.Date;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.annotation.Rollback;
import org.springframework.transaction.annotation.Transactional;
import cn.campus.fleasstore.ssm.po.Users;
import cn.campus.fleasstore.ssm.service.UsersService;
public class loginJUnit extends BaseTest{
@Autowired
private UsersService usersService;
@Test
@Transactional
@Rollback(false) //标明使用完此方法后事务不回滚,true时为回滚
public void insertUser() throws Exception {
Users usersCustom = new Users();
usersCustom.setUserId(2013111457);
usersCustom.setUsername("一波不停");
usersCustom.setPassword("abc123");
usersCustom.setRealname("黄海波");
usersCustom.setPhone("1893047611");
usersCustom.setBirthday(new Date());
usersService.insertUser(usersCustom);
System.out.println("注册成功");
}
}
控制台(图片好像有点长)
数据库
大功告成~~
嘿嘿嘿!!!