spring 中运用单元测试

7 篇文章 0 订阅
6 篇文章 0 订阅

直接上代码

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);  
        }  
    }  
 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值