如何解决如何将Spring bean添加到Spring Boot测试类中?
我有一个集成测试,该测试使用了测试帮助程序类。当前,我使用junit BeforeEach
方法创建此测试帮助程序类:
@AutoConfiguremockmvc
@SpringBoottest
public class EmployeeControllerIT {
@Autowired
private mockmvc mockmvc;
private TestHelper testHelper;
@BeforeEach
public void setup() {
this.testHelper = new TestHelper();
}
...
}
但是,考虑到我正在使用Spring,我想使用依赖注入。如何将TestHelper
添加到应用程序上下文中,以便可以如下自动进行接线:
@AutoConfiguremockmvc
@SpringBoottest
public class EmployeeControllerIT {
@Autowired
private mockmvc mockmvc;
@Autowired
private TestHelper testHelper;
....
}
解决方法
不是在TestHelper
方法中初始化@BeforeEach
,而是添加一个用@TestConfiguration
注释的静态内部类,并将TestHelper
声明为bean:
@AutoConfigureMockMvc
@SpringBootTest
public class EmployeeControllerIT {
@Autowired
private MockMvc mockMvc;
@Autowired
private TestHelper testHelper;
@TestConfiguration
public static class TestConfig {
@Bean
public TestHelper testHelper(SomeClass someClass) {
return new TestHelper(someClass);
}
}
...
}
,
您是否尝试过使用@Component注释TestHelper?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。