现在的位置: 首页 > 综合 > 正文

Spring web项目的单元测试

2017年12月26日 ⁄ 综合 ⁄ 共 2066字 ⁄ 字号 评论关闭

Spring web项目的单元测试

/**===========================================
 *        Copyright (C) 2013 Tempus
 *           All rights reserved
 *
 *  项 目 名: TMC
 *  文 件 名: TestLog.java
 *  版本信息: V1.0.0 
 *  作    者: peng.xiao
 *  日    期: 2013-1-17-下午01:39:43
 * 
 ============================================*/

package test.tempus.tmc.sales.system;

import java.util.Date;

import javax.annotation.Resource;

import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.test.annotation.Rollback;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.transaction.annotation.Transactional;

import tempus.tmc.sales.common.vo.OptLogType;
import tempus.tmc.sales.dao.system.IOptionLogDao;
import tempus.tmc.sales.domain.Account;
import tempus.tmc.sales.domain.OptionLog;



@RunWith(SpringJUnit4ClassRunner.class) //指定测试用例的运行器 这里是指定了Junit4  
@ContextConfiguration({"/applicationContext.xml"}) //指定Spring的配置文件 /为classpath下  
//@Transactional //对所有的测试方法都使用事务,并在测试完成后回滚事务  
public class LogServiceTest {  
//  @Autowired  
//  private ApplicationContext appplicationContext; //自动注入applicationContext,这样就可以使用appli*.getBean("beanName")  
    @Resource       //指定name属性就是byname注入,指定type属性就是bytype注入
    private IOptionLogDao optionLogDao;  
      
    @Before //在每个测试用例方法之前都会执行  
    public void init(){  
    }  
      
    @After //在每个测试用例执行完之后执行  
    public void destory(){  
    }  
      
    @Test  
    @Transactional  //使用该注释会使用事务,而且在测试完成之后会回滚事务,也就是说在该方法中做出的一切操作都不会对数据库中的数据产生任何影响  
    @Rollback(false) //这里设置为false,就让事务不回滚  
    public void testSave(){  
    	OptionLog log = new OptionLog();
    	log.setOptObj(OptLogType.ACCOUNT);
    	log.setOptTime(new Date());
    	log.setRefId(1l);
    	Account account = new Account();
    	account.setAccountNo("123456");
    	accountDao.save(account);
    	log.setAccount(account);
    	optionLogDao.save(log);
    }  
    @Test  
    @Transactional
    @Rollback(false)
    public void testDelete(){  
    	optionLogDao.deleteById(OptionLog.class, 1l);
    }  
    
    @Test  
    @Transactional
    @Rollback(false)
    public void testUpdate(){  
    	OptionLog log = optionLogDao.get(OptionLog.class, 1l);
    	log.setRemark("更新备注");
    }  
    
    @Test
    @Transactional 
    @Rollback(false)
    public void testget() {  
    	OptionLog log = optionLogDao.get(OptionLog.class, 1l);
    	System.out.println("log--->" + log);
    }
}  

抱歉!评论已关闭.