`

spring 中运用单元测试

 
阅读更多

直接上代码

package cn.pconline.bbs7.dao;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;

import java.util.*;

import junit.framework.Assert;

import org.apache.commons.lang.time.DateUtils;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.dao.EmptyResultDataAccessException;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.AbstractTransactionalJUnit4SpringContextTests;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

import cn.pconline.bbs7.dao.log.LogDao;
import cn.pconline.bbs7.dao.xdb.ModXDB;
import cn.pconline.bbs7.model.Post;
import cn.pconline.bbs7.model.Topic;
import cn.pconline.bbs7.model.User;
import cn.pconline.bbs7.model.log.Log;
import cn.pconline.bbs7.model.log.TopicLog;
import cn.pconline.bbs7.test.TestCommon;
import cn.pconline.bbs7.utils.pager.Pager;

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = { "classpath:appConfig/bbs7-context.xml" })
public class PostDaoTest extends AbstractTransactionalJUnit4SpringContextTests {

	private Post post;
	private PostDao postDao;
	private long tid;
	private long uid;

	@Before
	public void setUp() {
		postDao = (PostDao) this.applicationContext.getBean("postDao");
		post = new Post();
		tid = 2l;
		uid = 1l;
		post.setTid(tid);
		post.setUid(uid);
		post.setFloor(1);
		post.setMessage("test");
		post.setStatus(1);
		post.setCreateIp("192.167.57.160");
		post.setUpdateIp("192.167.57.160");
		post.setCreateAt(new Date(Long.parseLong("1345695299364")));
		post.setUpdateAt(new Date(Long.parseLong("1345695299364")));
        post.setAgent(1);
	}

	@Test
	public void testCreatePost() {
		long newPostId = postDao.createPost(post);
		Assert.assertNotNull(newPostId);
		Assert.assertTrue(newPostId > 0);
	}

	
}

结构大概如上所示,测试类要继承AbstractTransactionalJUnit4SpringContextTests。注意上面的注解,

@ContextConfiguration(locations = { "classpath:appConfig/bbs7-context.xml" })

其中bbs7-context.xml在classpath路径下的appConfig文件夹里面,是正常普通的spring配置文件,里面有一些数据源的初始化配置等。

如果是用maven来构建的话,classpath路径位于生成的target文件夹下,如:

源代码生成的classpath:D:\eclipseWorkspace\bbs7\branches\bbs7.0_pie_20130905\target\classes

测试代码生成的classpath:D:\eclipseWorkspace\bbs7\branches\bbs7.0_pie_20130905\target\test-classes

 

如果spring配置文件在WEB-INF下面,则用下面这个注解:

ContextConfiguration({"file:src/main/webapp/WEB-INF/applicationContext.xml"})  

 

 

    package com.sohu.group.service.external;  
      
    import java.util.List;  
      
    import org.junit.Test;  
    import org.junit.runner.RunWith;  
    import org.springframework.beans.factory.annotation.Autowired;  
    import org.springframework.test.context.ContextConfiguration;  
    import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;  
      
    @RunWith(SpringJUnit4ClassRunner.class)  
    @ContextConfiguration({"file:src/main/webapp/WEB-INF/applicationContext.xml"})  
    public class SuFriendServiceImplOverRMITest {  
      
        @Autowired  
        private SuFriendService suFriendService;  
          
        @Test  
        public void getUserFollowerListTest(){  
            List<String> list = suFriendService.getUserFollowerList("liug_talk@163.com");  
            System.out.println("------"+list);  
        }  
    }  
 

 

 

 

 

分享到:
评论

相关推荐

    spring mvc jpa单元测试例子

    在Spring MVC和JPA的开发过程中,单元测试是不可或缺的一部分,它可以帮助我们验证代码的正确性,确保系统...通过合理运用Spring的测试注解和事务管理机制,我们可以编写出可靠且易于维护的单元测试,提高代码质量。

    07. Spring Boot单元测试

    同时,Spring Boot提供了`@SpringBootTest`注解,用于启动一个完整的Spring应用上下文,这样可以在测试中使用到Spring的所有功能。 三、Mockito与Spring Boot测试 Mockito是一个流行的Java单元测试框架,它允许我们...

    Spring3单元测试和集成测试

    Mockito是一个流行的Java模拟框架,它可以在单元测试中替代真实的依赖,使测试更加隔离。在Spring3中,我们可以结合`@InjectMocks`和`@Mock`注解来创建被测试对象和模拟对象: ```java import org.junit.Test; ...

    spring整合单元测试Junit开发包

    在Spring框架中,单元测试是非常重要的一环,因为它可以帮助开发者确保代码的质量和稳定性。Junit是Java中最常用的单元测试框架,它提供了一套简单易用的API来编写和执行测试用例。 在Spring框架中,`spring-test`...

    spring测试、struts测试、hibernate测试、软件测试、网站测试、利用JBuilder测试的单元测试技术

    本文将深入探讨标题和描述中提到的几个关键测试领域:Spring测试、Struts测试、Hibernate测试、软件测试、网站测试以及使用JBuilder进行的单元测试技术。 首先,让我们从Spring测试开始。Spring是一个广泛使用的...

    单元测试

    单元测试是一种软件开发过程中的重要环节,主要用于验证代码的各个最小可测试单元,如函数、方法或类,是否能够按照预期工作。通过编写自动化测试用例,开发者可以在修改代码后快速检查新变更是否引入了错误,确保...

    Junit 单元测试完整案例

    4. `@Autowired`:用于注入Spring管理的bean,使得在测试中可以直接使用。 5. `@MockBean`和`@SpyBean`:这些注解可以用来模拟或监视特定的bean,方便测试。 三、Struts框架的单元测试 1. Struts2的测试挑战:...

    Spring、Spring Boot和TestNG测试指南1

    Spring框架提供了全面的测试支持,包括单元测试和集成测试。Spring Testing模块包含了一系列的API和注解,如`@RunWith(SpringRunner.class)`,`@SpringBootTest`,`@WebMvcTest`等,用于简化Spring应用的测试。这些...

    Spring相关测试1全部

    在Spring框架中,测试是确保代码质量和正确性的重要环节。...在实际开发中,结合Spring Test模块进行单元测试和集成测试,可以进一步提升软件质量。同时,了解并掌握这些知识点也是成为Spring专家的必经之路。

    spring_test测试代码

    Spring Test模块提供了对Spring应用进行单元测试和集成测试的支持。它可以与JUnit或TestNG一起使用,提供ApplicationContext的加载和模拟bean的功能。测试时,我们可以利用`@RunWith(SpringRunner.class)`和`@...

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

    Mock是在单元测试中用于模拟复杂依赖关系的技术。Mock对象可以替代真实对象,模拟返回值或行为,以便测试代码可以专注于单个功能,而不会受到外部因素的影响。这在测试涉及网络请求、数据库操作或其他外部资源的代码...

    我的笔记 spring的测试

    Spring提供了`@RunWith(SpringRunner.class)`注解,它是JUnit的一个扩展,可以让我们在单元测试中利用Spring的IoC容器。通过这个注解,我们可以注入需要的依赖,而不是手动创建它们。同时,`@Autowired`和`@MockBean...

    spring中文文档下载

    Spring提供了丰富的测试支持,包括单元测试、集成测试和端到端测试,可以方便地与Mockito等库配合使用,确保代码的质量。 这份《spring-reference.pdf》中文文档详细阐述了Spring框架的各个方面,对于初学者和经验...

    单元测试利器JUnit4

    通过理解和熟练运用这些JUnit4特性,你可以构建出一套健壮且易于维护的单元测试体系,提高软件开发的质量和效率。阅读《单元测试利器JUnit4.pdf》文档将更深入地理解这些概念,并提供实践指导。

    Spring 3.0就这么简单源代码

    《Spring3.0就这么简单》的主旨就是帮助读者尽快上手,掌握Spring3.0的核心内容,正确地进行项目实战,同时汲取Spring的思想,并最终将这种思想灵活运用到实际工作中。《Spring3.0就这么简单》主要介绍了Spring3.0的...

    Spring框架开发参考中文手册

    Spring Test模块提供了测试Spring应用程序的工具,包括单元测试和集成测试的支持。Spring Boot的测试起步依赖使编写测试变得简单,可以快速验证应用程序的正确性。 十、最佳实践 手册中还涵盖了Spring框架的最佳...

    测试+JUnit+单元测试+学习阶段

    在软件开发过程中,单元测试是一项至关重要的任务,它能够确保代码的正确性和可维护性。JUnit作为Java领域最流行的单元测试框架,是开发者必备的工具之一。本学习阶段将带你深入理解和掌握JUnit的使用,以及如何通过...

    基于Spring4MVC的测试Demo

    我们还可以使用JUnit进行单元测试,测试单个类或方法的功能,以及Mockito等库来模拟协作对象,确保测试的隔离性。对于集成测试,Spring Boot的TestRestTemplate或WebTestClient可以用来发送HTTP请求并验证响应。 总...

    spring中文开发手册

    11. **测试支持**:Spring框架提供了单元测试和集成测试的支持,如`@Autowired`注解用于注入依赖,`@RunWith(SpringRunner.class)`用于启动Spring测试环境。 这份Spring中文开发手册将帮助开发者深入理解以上各个...

Global site tag (gtag.js) - Google Analytics