`

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 3.0就这么简单源代码

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

    Spring高级之注解驱动开发视频教程

    SpringTest它是针对Junit单元测试的整合。让我们在开发中以及开发后期进行测试时,直接使用Junit结合spring一起测试。 本套课程中,我们将全面剖析Spring和SpringMVC两个部分。从应用场景分析,到基本用法的入门...

    XXX-JAVA开发工程师-2年经验简历模板

    ➢ 熟悉 dbunit、JUnit 单元测试工作,了解 EasyMocK、stub、hamcrest、suite 完成项目 模块的单元测试工作 ➢ 熟练使用 SpringBoot 简化 SpringCloud 进行微服务架构的搭建,熟悉微服务模块,如 Eureka服务的...

    java求职简历

    求职简历:1. 熟练运用Java编程语言, 熟悉J2EE技术体系架构,掌握面向对象编程思想,对设计模式有一定的了解,有良好编码规范。 2. 熟练运用Servlet、Struts、Hibernate、Spring、...9. 熟练使用junit单元测试。

    java三大框架

    使用Spring构建的应用程序易于单元测试。 Spring能使EJB的使用成为一个实现选择,而不是应用架构的必然选择。你能选择用POJOs或local EJBs来实现业务接口,却不会影响调用代码。 Spring帮助你解决许多问题而无需...

    基于SSH的学生信息管理系统-实训个人工作总结.doc

    《基于SSH的学生信息管理系统-实训个人工作总结.doc》是一份...测试和调试部分,总结可能会强调个人对系统的测试策略和测试用例的制定,以及如何进行单元测试、集成测试和验收测试。可能会详细讲述个人如何发现并修复代

    JavaEE求职简历-姓名-JAVA开发工程师-3年经验.docx

    熟练使用 Java 基础知识,有良好的编码习惯,熟练使用常用的 Java API。...&gt; 熟悉 Junit,dbunit,EasyMock 技术,对项目进行单元测试和集成测试。 &gt; 熟悉 Netfix 策略实现分布式、实现模块间的通信,

    基于Flex的网页游戏的研究与设计.pdf

    本文首先阐述了选择Red5禾IFlex进行网页游戏开发的原因,并介绍和分析了两者的概念和原理,并针对网页游戏的难题提出一些解决办法。然后,本文运用UML等方法对...最后,本文用JUnit和FlexUnit对系统进行了单元测试,得

    基于SpringBoot的体育馆管理系统的设计与实现.zip

    测试用例:为确保系统质量,可能包含单元测试和集成测试的代码。工具与依赖:Maven或Gradle配置文件,列出了项目所需的所有依赖库及其版本信息。此资源面向的主要用户群体是软件开发者、IT专业的学生或对体育馆管理...

    火炬博客系统7

    Spring能有效地组织中间层对象,通过Bean容器为业务对象、DAO对象和资源对象提供了IOC类型的装配能力,将Struts和Hibernate集成起来,使用Spring构建的应用程序易于单元测试。Spring为数据存取提供了一个一致的框架...

    火炬博客系统6

    Spring能有效地组织中间层对象,通过Bean容器为业务对象、DAO对象和资源对象提供了IOC类型的装配能力,将Struts和Hibernate集成起来,使用Spring构建的应用程序易于单元测试。Spring为数据存取提供了一个一致的框架...

    火炬博客系统5

    Spring能有效地组织中间层对象,通过Bean容器为业务对象、DAO对象和资源对象提供了IOC类型的装配能力,将Struts和Hibernate集成起来,使用Spring构建的应用程序易于单元测试。Spring为数据存取提供了一个一致的框架...

    积分管理系统java源码-CampusShops:o2o

    单元测试模块建立 数据备份模块 搭建MySQL主从库 数据定期备份冗灾(包括数据以及图片的备份涉及Crontab) 前端模版搭建 借助第三方组件SUI快速搭建前后台界面 前台模块 会员注册 会员登录 首页模板数据填充开发 ...

    asp.net知识库

    在Asp.net中如何用SQLDMO来获取SQL Server中的对象信息 使用Relations建立表之间的关系并却使用PagedDataSource类对DataList进行分页 通过作业,定时同步两个数据库 SQLSERVER高级注入技巧 利用反射实现ASP.NET控件和...

Global site tag (gtag.js) - Google Analytics