在测试类中初始化spring boot2的Bean的两种方法
By:Roy.LiuLast updated:2019-03-03
在springboot里面,我可以用@TestConfiguration注解去为一些测试类初始化java bean, 以实现注入的目的.最常见的有两种法法
1. @TestConfiguration + @Import
被@TestConfiguration 注解的类,并不包含在springboot的启动扫描之中,因此需要我们自己手工import进去,比如.
另一个类:
2. 第二种方法, 采用静态内部类,这就不用多说了,看代码就明白的。
1. @TestConfiguration + @Import
被@TestConfiguration 注解的类,并不包含在springboot的启动扫描之中,因此需要我们自己手工import进去,比如.
@TestConfiguration
public class TestConfig {
@Bean
public RestTemplateBuilder restTemplateBuilder() {
return new RestTemplateBuilder()
.basicAuthentication("youname", "password")
.setConnectTimeout(Duration.ofSeconds(5));
}
}
另一个类:
@RunWith(SpringRunner.class)
@SpringBootTest
@Import(TestConfig.class)
public class RestTemplateTest {
@Autowired
private TestRestTemplate restTemplate;
@Test
public void post_user_ok() {
//...
}
}
2. 第二种方法, 采用静态内部类,这就不用多说了,看代码就明白的。
@RunWith(SpringRunner.class)
@SpringBootTest
public class RestTemplateTest {
@TestConfiguration
static class TestConfig {
@Bean
public RestTemplateBuilder restTemplateBuilder() {
return new RestTemplateBuilder()
.basicAuthentication("youname", "password")
.setConnectTimeout(Duration.ofSeconds(5));
}
}
@Autowired
private TestRestTemplate restTemplate;
@Test
public void post_user_ok() {
//...
}
}
From:一号门
Previous:分布式定时任务备忘录

COMMENTS