java 单元测试

  1. 纯粹 junit 测试
package com.dada.test;

import org.junit.Before;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import com.github.zhangkaitao.shiro.chapter16.dao.UserDao;
import com.github.zhangkaitao.shiro.chapter16.entity.User;

public class JunitUserDaoTest {
    UserDao userDao;

    @Before
    public void init() {
        System.out.println("加载 spring 配置文件");
        ApplicationContext ctx = new ClassPathXmlApplicationContext("spring-config.xml");
        userDao = ctx.getBean(UserDao.class);
    }

    @Test
    public void testQuery() {
        User result = userDao.findOne(1l);
        System.out.println(result);
    }
}
  1. Spring 测试【注意:这个基类除了需要设置 spring 配置文件之外,还需要继承:AbstractJUnit4SpringContextTests类,否则的话是不能自动注入类的】
package com.dada.test;

import org.junit.Test;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.AbstractJUnit4SpringContextTests;

import com.github.zhangkaitao.shiro.chapter16.dao.UserDao;
import com.github.zhangkaitao.shiro.chapter16.entity.User;

/** 
 * 关键点:使用AbstractJUnit4SpringContextTests,可以直接注入Bean 
 * 1、Dao定义时使用注解@Component("userDao")  
 * 2、测试类使用注解@ContextConfiguration("classpath:beans.xml") 
 * 3、测试类继承AbstractJUnit4SpringContextTests  
 * 4、测试类直接注入UserDao  
 *  @Resource(name="userDao")  
 *  privateUserDaouserDao; 
 * 5、测试方法直接调用注入的userDao的方法 
 * 需要commons-logging包 
 *  
 */
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = { "classpath:spring/spring-context.xml" })
// 这个注解可以做到回滚操作过的数据(新增,修改,删除都会回滚,但是如果对表进行了新增,那么当前的最大的id值是无法回滚的)
@TransactionConfiguration(defaultRollback=true)
@Transactional
public class SpringUserDaoTest extends AbstractJUnit4SpringContextTests  {
    @javax.annotation.Resource
    UserDao userDao;

    @Test
    public void testQuery() {
        User user = userDao.findOne(1l);
        System.out.println(user);
    }
}

注意:需要加入spring 对应的依赖才行

    <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-test</artifactId>
            <version>4.0.0.RELEASE</version>
            <scope>test</scope>
        </dependency>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值