首页 > 技术文章 > 使用Spring进行单元测试

tenghu 2021-08-04 16:45 原文

使用Spring进行单元测试,可以分为两种:

  • 1、使用注解的方式加载配置文件
  • 2、手动加载配置文件

既然是做单元测试,那么最基本的单元测试maven依赖需要引入。

<dependency>
  <groupId>junit</groupId>
  <artifactId>junit</artifactId>
  <version>4.12</version>
  <scope>test</scope>
</dependency>

然后引入spring的测试依赖。

<dependency>
  <groupId>org.springframework</groupId>
  <artifactId>spring-test</artifactId>
  <version>5.2.16.RELEASE</version>
</dependency>

另外引入springcontextbean依赖。

<dependency>
  <groupId>org.springframework</groupId>
  <artifactId>spring-beans</artifactId>
  <version>5.2.16.RELEASE</version>
</dependency>
<dependency>
  <groupId>org.springframework</groupId>
  <artifactId>spring-context</artifactId>
  <version>5.2.16.RELEASE</version>
</dependency>

注意:这里使用的spring:5.2.16版本,因此单元测试版本必须是4.12或者更高的。

1、使用注解的方式加载配置文件

在测试类上使用@RunWith@ContextConfiguration

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration({"classpath:application.xml"})
public class AppTest 

使用的时候在属性上面增加@Autowired,也可以通过setXXX来进行注入。

@Autowired
private IUserService userService;

2、手动加载配置文件

使用ClassPathXmlApplicationContext的方式加载配置文件。

ApplicationContext applicationContext = new ClassPathXmlApplicationContext("application.xml");

然后使用getBean获取配置文件中的实例。

IUserDAO userDAO = applicationContext.getBean("userDAO");

实际使用时,可以根据具体情况选择不同的方式。

推荐阅读