`
lihao312
  • 浏览: 484024 次
  • 性别: 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
分享到:
评论

相关推荐

    Junit 单元测试完整案例

    在案例中,你将看到如何创建测试类,定义测试方法,设置测试数据,以及如何利用JUnit和Spring/Struts提供的工具来编写高效的单元测试。通过分析和运行源码,你可以了解如何将这些概念应用于实际项目,提高代码质量。...

    spring MVC junit 单元测试(controller)

    在测试类上使用`@RunWith(SpringRunner.class)`注解启用Spring测试支持,并使用`@ContextConfiguration`指定Spring配置文件的位置。 2. **创建MockMVC对象**:使用`MockMvcBuilders.standaloneSetup()`或`...

    基于Spring的JUnit单元测试

    单元测试是对软件中的最小可测试单元进行检查和验证,对于Java来说,这个单元通常是方法。JUnit作为一款轻量级的测试框架,提供了编写和执行这些测试用例的便利工具。 在Spring框架中,我们经常需要测试与依赖注入...

    通过spring管理的web工程的junit单元测试方法四

    Spring TestContext框架提供了一个统一的入口点,允许我们在JUnit测试中加载Spring应用上下文。这可以通过继承`@RunWith(SpringRunner.class)`注解的测试类实现,或者使用`@SpringBootTest`注解直接启动应用上下文...

    27. Spring Boot Junit单元测试【从零开始学Spring Boot】

    单元测试是一种针对软件中的最小可测试单元(如方法)进行的独立验证,目的是确保这些单元按照预期工作。在Java世界里,JUnit是最常用的单元测试框架,它提供了一套简洁的API来编写和运行测试用例。 Spring Boot...

    junit单元测试及Mock应用,超详细的PPT实战应用

    单元测试是软件开发中的一种关键实践,其目的是验证软件的最小可测试单元,通常是函数或类,是否按照预期工作。通过独立地运行这些单元并检查它们的输出,开发者可以早期发现和修复代码中的错误,提高代码质量和可...

    使用JUnit进行单元测试PPT

    单元测试是对程序中最小可测试单元进行验证,通常是单个函数或方法。过去,开发者可能会通过编写main函数来手动测试代码功能,但这种方式效率低下且易于出错。现在,通过JUnit等工具,我们可以更系统、高效地进行...

    Spring的MOVE进行Junit单元测试

    在Spring测试中,我们需要一个用于测试的配置文件,通常命名为`test-context.xml`。在这个文件中,你可以声明要测试的bean和数据源(jdbc)配置。 ```xml &lt;beans xmlns="http://www.springframework.org/schema/...

    JUnit单元测试框架 张明生PPT课件.pptx

    JUnit 是 Java 中开发单元测试的框架标准,由 Erich Gamma 和 Kent Beck 创建。它支持测试代码的独立,是 XP 编程思想的体现。JUnit 已经 13 岁了,是一个简单但有效的单元测试框架,世界上无数软件项目使用它。 ...

    基于Spring的JUnit4测试

    基于Spring的JUnit4单元测试

    Struts2+Spring+hibernate中对action的单元测试环境搭建[总结].pdf

    在搭建单元测试环境时,需要使用的 Jar 包有 junit4.jar 和 struts2-junit-plugin-2.1.8.jar。junit4.jar 是 Eclipse 自带的,可以在项目路径中导入。struts2-junit-plugin-2.1.8.jar 是 Struts2 提供的测试插件,...

    Junit4+Spring2.5单元测试代码示例(也适用注解测试)

    Junit4+Spring2.5单元测试代码示例同时也适用注解注入的形式测试(前提要导好测试的包哦,包MyEclipce自带了)

    Junit单元测试(很经典)

    **Junit单元测试详解** ...综上所述,Junit作为一个强大的单元测试工具,不仅覆盖了基础的断言和异常测试,还提供了丰富的特性以满足各种复杂的测试需求。熟练掌握Junit,能够极大地提升软件开发的质量和效率。

    Spring Junit单元测试加载配置文件失败问题

    Spring Junit是一个常用的单元测试框架,它可以与Spring框架集成,提供了许多有用的注解和工具来简化单元测试的过程。然而,在使用Spring Junit进行单元测试时,可能会遇到加载配置文件失败的问题。本文将详细介绍这...

    spring mvc的简单单元测试

    3. **Spring Test**:Spring 提供了自己的测试模块,包含`@RunWith(SpringRunner.class)`注解,它可以将JUnit测试与Spring环境结合,自动加载ApplicationContext,使得我们可以使用依赖注入来测试bean。 4. **@...

    单元测试案例junit +spring mvc +springboot

    此外,`@WebMvcTest`则专门用于测试Spring MVC控制器,它可以自动配置MockMvc。 4. 单元测试策略 - 针对Service层:测试业务逻辑,通常会模拟Repository层,避免数据库操作。 - 针对Controller层:使用MockMvc...

    SSM中进行单元测试Junit4+spring-test所需jar包

    spring-test是Spring框架的一部分,专门用于测试Spring应用程序。它提供了与Spring容器集成的测试工具,如`@ContextConfiguration`用于加载配置,`@Autowired`自动注入依赖,以及`@MockBean`和`@SpyBean`来创建模拟...

    SpringBoot 多模块 Serivce 层单元测试

    总结来说,Spring Boot多模块项目中Service层的单元测试是一个系统的过程,涉及到测试环境搭建、测试类编写、模拟对象的使用以及断言和覆盖率的检查。通过有效的单元测试,我们可以保证Service层的业务逻辑正确,...

Global site tag (gtag.js) - Google Analytics