码迷,mamicode.com
首页 > 编程语言 > 详细

关于spring项目的单例测试

时间:2015-11-03 19:47:13      阅读:271      评论:0      收藏:0      [点我收藏+]

标签:

这里是小知识啦,因为每次都要找以前的项目,这里记录一下,省得以后麻烦。

我们在做spring项目的时候,启动的时候spring容器肯定是要注入很多的类,这些在单例的时候比较麻烦,要启动整个项目,加载spring容器才能正确处理各个实例之间的依赖关系。

这里我们使用junit4来做单例猜测,相比于junit3的好处就是,junit4加入大量的注解功能,使得测试起来更加的方便快捷。

首先我们需要两个主要的jar包:junit4、spring-test,当然spring其他需要的包这里就不在赘述,按照自己的项目去添加即可。

比如说我要测试这个方法:

@Service
EmployeeService {

    @Autowired
    EmployeeMapper ;

    Employee findEmployee(id) {
        .selectById(id);
    }
}

因为这个方法里面有依赖关系,所以要启动spring的容器。还有的人肯定说我们不需要依赖,直接new嘛,这种情况在依赖关系比较复杂的情况下并没有卵用,太麻烦了。所以我是这么做的:

com.yangbo.one.base.BaseTest;
com.yangbo.one.persistence.model.Employee;
import lombok.extern.slf4j.Slf4j;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;

@Slf4j
UserServiceTest  {

    @Autowired
    EmployeeService ;

    @Test
    testFindEmployee() Exception {
        Employee employee = .findEmployee();
        System..println(+ employee);
        .info(,employee.getName());
    }
}

这里面有个继承关系,是为了我在新建其他测试类的时候,不用每次都去加注解,总之就是为了省事。所以这里的继承的BaseTest是这么写的,这个是关键,如下:

com.yangbo.one.base;
import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
junit.framework.TestCase;

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = "classpath:applicationContext.xml")
BaseTest TestCase{
}

一切就绪,只需要右键运行testEmployeeTest的方法即可,运行的结果如下:

2015-11-03 17:18:15,917 INFO [main] c.yangbo.one.service.UserServiceTest [UserServiceTest.java : 19] 用户sfadsfa是个大傻逼,哈哈……


至此,单元测试OK。简单吧,我也不知道为什么我每次都回去找旧项目,可能是因为只是知其然还不知其所以然的原因吧!

关于spring项目的单例测试

标签:

原文地址:http://my.oschina.net/u/1757225/blog/525431

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!