您当前的位置: 首页 > 慢生活 > 程序人生 网站首页程序人生
16-Spring集成Junit-代码实现(优化测试需要获取SpringConfig的bean的强依赖单元测试)
发布时间:2024-12-24 14:39:33编辑:雪饮阅读()
-
对比前番的测试
@Test
//测试从bean中获取jdbc数据源并获取jdbc连接
public void testGetJDBCConnectFromBean() throws Exception{
ClassPathXmlApplicationContext app=new ClassPathXmlApplicationContext("JDBCApplicationContext.xml");
ComboPooledDataSource bean=app.getBean(ComboPooledDataSource.class);
Connection connection=bean.getConnection();
System.out.println(connection);
connection.close();
}
可以看到前番的测试中每次都要获取bean之后才能测试。
那么Spring有提供针对Spring而言更方便的测试。
首先pom文件中新增依赖
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>5.0.5.RELEASE</version>
</dependency>
同步依赖后,我们用runwith注解为我们的测试类指定使用spring的测试
@RunWith(SpringJUnit4ClassRunner.class)
然后用@ContextConfiguration("classpath:JDBCApplicationContext.xml")
也可以用@ContextConfiguration(classes = {SpringConfiguration.class})指定Spring Config配置类
指定要用的SpringConfig配置文件
然后可以将我们要测的例如前番的UserService,DataSource这些都用属性并结合Autowired来注入即可。
那么我们首先实现一个基于配置文件的支持Spring提供的测试方法如:
import com.wzgy.service.UserService;
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;
import javax.sql.DataSource;
import java.sql.SQLException;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:JDBCApplicationContext.xml")
public class Test2 {
@Autowired
private UserService userService;
@Autowired
private DataSource dataSource;
@Test
public void test21() throws SQLException {
userService.save();
System.out.println(dataSource.getConnection());
}
}
然后再来一个基于注解配置类的支持Spring提供的测试方法如:
import com.config.SpringConfiguration;
import com.wzgy.service.UserService;
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;
import javax.sql.DataSource;
import java.sql.SQLException;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = {SpringConfiguration.class})
public class Test3 {
@Autowired
private UserService userService;
@Autowired
private DataSource dataSource;
@Test
public void test31() throws SQLException {
userService.save();
System.out.println(dataSource.getConnection());
}
}
关键字词:spring,测试,单元测试,单元
上一篇:14-Spring注解开发-新注解详解(全注解类代替Spring Config的xml配置文件)
下一篇:01-Spring集成web环境-基本三层架构环境搭建(浏览器访问并在IntelliJ IDEA控制台打印jdbc连接(从Spring Config配置xml中取到))
相关文章
- 14-Spring注解开发-新注解详解(全注解类代替Spring Co
- 10-Spring注解开发-原始注解入门操作(SpringConfig配
- 09-Spring注解开发-完善测试环境
- 07-Spring配置数据源-Spring(配置文件中)加载properti
- 06-Spring配置数据源-Spring产生数据源对象(SpringCon
- 05-Spring配置数据源-抽取jdbc.properties文件
- 04-Spring配置数据源-手动创建Druid数据源
- 03-Spring配置数据源-数据源的开发步骤和手动创建C3P0
- 20-Spring相应API2(getBean通过接口类来获取)
- 19-Spring相应API1(绝对路径加载Spring配置文件及解决