一、背景
spring项目如需测试小的功能,启动整个项目费时费力,可以使用spring-test包进行单元测试,加速项目开发和测试
二、使用
1.添加maven依赖
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>4.3.21.RELEASE</version>
</dependency>
2.创建测试类
要测试的是JdbcDaoSupport的功能,因为该类是抽象类,无法实例化,所以需要继承它,由于没有抽象方法,最简实现无需实现任何方法。
package database.dao;
import org.springframework.jdbc.core.support.JdbcDaoSupport;
/**
* JdbcDaoSupport最简实现
*
* @author wangying49
* @date 2019/10/28
*/
public class SimpleJdbcDao extends JdbcDaoSupport {
}
选中需要测试的类,cmd+shift+T 快捷键,创建测试类
2.1 配置文件
<?xml version="1.0" encoding="UTF-8"?>
<beans default-autowire="byName" xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">
<!--使用属性文件-->
<context:property-placeholder location="classpath:application.properties"
order="1" ignore-unresolvable="true" />
<!-- 数据库 -->
<!--数据源配置-->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/mybatis"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</bean>
<bean id="simpleJdbcDao" class="database.dao.SimpleJdbcDao">
<property name="dataSource" ref="dataSource"/>
</bean>
</beans>
2.2 编写测试类,引用配置文件
package database.dao;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.jdbc.core.support.JdbcDaoSupport;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import java.util.List;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = { "classpath*:/acTest.xml" })
public class SimpleJdbcDaoTest {
@Autowired
@Qualifier("simpleJdbcDao")
private JdbcDaoSupport jdbcDaoSupport;
@Test
public void testJdbcDaoSupport() {
String sql = "select * from user";
List list = jdbcDaoSupport.getJdbcTemplate().queryForList(sql);
System.out.println(list);
}
}
2.3 配置文件放置路径
@ContextConfiguration(locations = { "acTest.xml" }) 需要放置在编译后的SimpleJdbcDaoTest.class文件路径下
@ContextConfiguration(locations = { "classpath*:/acTest.xml" }) 放置在/src/test/resources 路径下面,执行后被拷贝到/target/test-classes/acTest.xml路径下
3.测试结果
来源:https://blog.csdn.net/sarafina527/article/details/102776840