Spring测试用例自动注入Bean(上)

简单梳理了下有下面三种方法:

SpringBoot项目 + 注解标识的Bean

说明:即在SpringBoot项目中,通过 @Autowired 注入 其他通过 @Component@Service 等注解加入IOC容器里面的Bean。

方法:在Test类前加入以下注解:

1
2
3
4
5
6
@RunWith(SpringRunner.class) 
@SpringBootTest
public class TestServiceTest {
@Autowired
TestService testService;
}

POM依赖如下:

1
2
3
4
5
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>

Spring + xml配置的Bean

说明:即在test中通过 @Autowired 注入 其他通过 xml配置 加入IOC容器里面的Bean。
方法:在Test类前加入以下注解

1
2
3
4
5
6
@RunWIth(SpringJunit4ClassRunner.class)
@ContextConfiguration(locations = {"classpath:xxx.xml"}
public class TestServiceTest {
@Autowired
TestService testService;
}

POM依赖如下:

1
2
3
4
5
6
7
8
9
10
11
12
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>${spring.version}</version>
</dependency>

<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${junit.version}</version>
<scope>test</scope>
</dependency>

非SpringBoot + 注解标识的Bean

说明:即在非SpringBoot项目中,通过 @Autowired 注入 其他通过 @Component@Service 等注解加入IOC容器里面的Bean。

可以参考文章:Spring测试用例自动注入Bean(下)

作者

Yves

发布于

2017-10-12

更新于

2017-10-12

许可协议