Spring4.3 JUnit4.12
测试类基类:
package xyz.jangle.test.utils;
import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.AbstractTransactionalJUnit4SpringContextTests;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
/**
* @author huhj
* @email jangle@jangle.xyz
* @time 2018年6月26日
*/
// 表示整合JUnit4进行测试(需要 JUnit4.12及以上版本)
@RunWith(SpringJUnit4ClassRunner.class)
// 加载spring配置文件 超类是事务管理的相关功能,继承后默认Rollback(true)
@ContextConfiguration(locations = { "classpath:spring.xml" })
public class JUnitUtils extends AbstractTransactionalJUnit4SpringContextTests {
// 此处是以编码方式手动获取Spring的Bean对象的设计。
/*
* private volatile static BeanFactory factory;
*
* @Before public void setUp() throws Exception {
* System.out.println("加载spring配置开始 ............");
*
* ArrayList<String> list = new ArrayList<String>(); list.add("spring.xml");
* // 将Sprint配置文件加入待加载列表 try { factory = new ClassPathXmlApplicationContext(
* list.toArray(new String[list.size()])); // 保证虚拟机退出之前
* spring中singtleton对象自定义销毁方法会执行 ((AbstractApplicationContext)
* factory).registerShutdownHook(); } catch (Exception e) {
* e.printStackTrace(); System.out.println("加载配置文件时发生错误" + e); }
* System.out.println("加载spring配置结束............."); }
*
* public static Object getBean(Class<?> bean){ // return
* factory.getBean(bean); return null; }
*/
}
业务类:
package xyz.jangle.service.impl;
import java.util.List;
import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import xyz.jangle.mapper.UserMapper;
import xyz.jangle.model.User;
import xyz.jangle.service.UserService;
@Service
public class UserServiceImpl implements UserService {
private static Logger logger = Logger.getLogger(UserServiceImpl.class);
@Autowired
UserMapper userMapper;
@Override
public String getUser() {
logger.info("UserServiceImpl Method.");
List<User> userList = userMapper.findAll();
for (User user : userList) {
System.out.println("id:" + user.getUserId());
System.out.println("age:" + user.getUserAge());
System.out.println("name:" + user.getUserName());
}
User user = userMapper.findById(1);
System.out.println("单用户信息查询,Name:" + user.getUserName());
return "hello";
}
}
业务类测试:
package xyz.jangle.service.test;
import static org.junit.Assert.*;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
import xyz.jangle.service.UserService;
import xyz.jangle.test.utils.JUnitUtils;
/**
* @author huhj
* @email jangle@jangle.xyz
* @time 2018年6月26日
*/
public class UserServiceImplTest extends JUnitUtils{
@Autowired
private UserService userService;
@Test
public void testGetUser() {
assertEquals("hello",userService.getUser());
}
}