Junit单元测试和spring单元测试

本文详细介绍了如何使用 Spring 提供的单元测试功能,通过注入方式加入 MongoDB 测试包,实现了对 MongoDB 的分页查询单元测试。包括测试初始化 Spring 容器、获取 MongoDB 操作对象,以及执行分页查询并打印结果。
摘要由CSDN通过智能技术生成
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());
}
}

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值