`
lihao312
  • 浏览: 480253 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Junit单元测试和spring单元测试

阅读更多
1.采用spring提供的单元测试通过注入方式
<dependency>
	<groupId>org.springframework</groupId>
        <artifactId>spring-test</artifactId>
	<version>3.1.0.RELEASE</version>
</dependency>

加入单元测试包,可以方便控制事物、回滚
package com.unit.mongo;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.test.annotation.Rollback;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

import com.home.model.mongo.Person;
import com.home.service.mongo.IPersonBiz;

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations={"classpath:applicationContext.xml"})
public class TestMongo {
    @Autowired
    private IPersonBiz personBiz;
    
    @Test
    public void test() {
        findWithPage();     
    }
    
    /**
     * 测试mongoDB分页查询
     */
    public void findWithPage(){
        Pageable pageable = new PageRequest(0, 30);
        Map<String, Object>params = new HashMap<String, Object>();
        params.put("name", "tom");
        List<Person> persons = personBiz.findWithPage(params, pageable);
        
        for(Person person: persons){
            System.out.println(person.toString());
        } 
    }
    
    @Rollback
    public void save(){
        
    }
}

2.实现TestCase单元测试
package com.unit.mongo;


import java.util.List;

import junit.framework.TestCase;

import org.junit.Before;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.data.mongodb.core.MongoOperations;

import com.home.model.mongo.Person;

/**
 * 继承TestCase不依赖与spring-test包
 * @author li
 */
public class TestWithCase extends TestCase {
    public ApplicationContext ctx = null;
    
    /**
     * 测试一次初始化Spring容器
     */
    @Before
    protected void setUp() throws Exception {
        super.setUp();
        ctx = new ClassPathXmlApplicationContext(new String[] {"applicationContext.xml"});
    }
    
    /**
     * 需要手动获取bean
     * @return
     */
    private MongoOperations getMongoOper(){
        return (MongoOperations)ctx.getBean("mongoTemplate");
    }

    @Test
    public void test() {
        MongoOperations mongo = this.getMongoOper();
        List<Person> persons = mongo.findAll(Person.class);
        
        for(Person person: persons){
            System.out.println(person.toString());
        } 
    }

}
2
4
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics