在测试类中初始化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