Spring - 001 - JUnit测试

第一步:JUnit与SpringTest的引入

JUnit故名知意,是一个专门为Java语言提供单元测试的框架。平时的开发过程中,单元测试会频繁的用到,所以在JUnit之上,Spring又做了进一步的封装,这个集成的测试模块也就是SpringTest。

SpringTest的使用可以避免频繁、重复的容器加载,这个使用起来会有很好的体验。它还可以不用像JUnit那样通过getBean()方法去容器里获取目标元素,直接就像在实际开发中一样,做好配置,写好标签就可以得到想要的结果。SpringTest还做了对数据库操作的回滚处理,这个在日常测试使用中相当实用,可以避免去数据库做频繁修改以确保环境正常。等等诸多,SpringTest能在强大的JUnit之上让我们更加方便的进行单元测试,来先看看他们所需的依赖包,打开pom文件,在dependencies里添加以下代码

<!-- ============== test begin ============== -->  
<dependency><!-- JUnit单元测试框架 -->  
    <groupId>junit</groupId>  
    <artifactId>junit</artifactId>  
    <version>4.12</version>  
    <scope>test</scope>  
</dependency>  
<dependency><!-- spring对测试框架的简单封装功能 -->  
    <groupId>org.springframework</groupId>  
    <artifactId>spring-test</artifactId>  
    <version>${spring.version}</version>  
    <scope>test</scope>  
</dependency>  
<!-- ============== test end ============== -->  

第二步:JUnit测试验证

我们先来看看单独使用JUnit进行测试的样子,在src/test/java下,建立准备编写测试类的包,然后创建名为JunitTestUser的测试类,代码如下


import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.junit.Before;
import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.support.ClassPathXmlApplicationContext;



/**
 * 
 * @ClassName: JunitTestUser.java
 * @Description: JUnit测试
 *
 * @version: v1.0.0
 * @author: 
 * @date: 2019年6月17日 
 *
 */
public class JunitTest {
	private static final Logger logger = LoggerFactory.getLogger(JunitTest.class);

	@SuppressWarnings("unused")
	private SeqDomainMapper seqDomainMapper;
	
	@Before
	public void init() {
		ClassPathXmlApplicationContext classPathXmlApplicationContext = new ClassPathXmlApplicationContext("classpath*:applicationContext.xml");
		SqlSessionFactory sqlSessionFactory = (SqlSessionFactory) classPathXmlApplicationContext.getBean("sqlSessionFactory");
		SqlSession sqlSession = sqlSessionFactory.openSession();
		seqDomainMapper = sqlSession.getMapper(SeqDomainMapper.class);
		classPathXmlApplicationContext.close();
	}
	
	@Test
	public void testSeq() {
		logger.info("测试成功");
	}
}

第三步:JUnit与SpringTest共同的尝试

紧接着我们创建一个名为SpringTestUser的测试类,代码如下

import org.junit.Test;
import org.junit.runner.RunWith;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
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;
 
/**
 * 
 * @ClassName: SpringTest.java
 * @Description: SpringTest测试
 *
 * @version: v1.0.0
 * @author: 
 * @date: 2019年6月17日 
 *
 */
@RunWith(SpringJUnit4ClassRunner.class)  
@ContextConfiguration({"classpath*:applicationContext.xml"}) 
@Rollback(value=true)
@Transactional(transactionManager = "transactionManager")
public class SpringTest {  
    private static final Logger logger = LoggerFactory.getLogger(SpringTest.class);  
      
    @Autowired
    BiDataService biDataService; 
    
    @Test
	public void testService() {
    	logger.info("测试成功");
	}

} 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值