我目前正在深入研究@TestConfiguration,我想知道为什么要使用这个组合。
@TestConfiguration
public class TestConfig {
// some bean definitions
字符串
并且然后使用
@SpringBootTest
@Import(TestConfig.class)
class UsingImport {
@Autowired
ConfigBean configBean;
// some code
型
在src/test中不使用经典的@Configuration,因为它是完全法律的。为什么@TestConfiguration的真实的目的是,我们可以用@Configuration做同样的事情?
我说错了吗?
2条答案
按热度按时间knsnq2tg1#
@TestConfiguration
:@Configuration
,可用于为测试定义额外的bean或自定义。与常规@Configuration
类不同,@TestConfiguration
的使用不会阻止@SpringBootConfiguration
的自动检测。m2xkgtsf2#
@TestConfiguration
和常规@Configuration
的主要区别在于,标记有通常的@Configuration
注解的类会自动包含在应用程序上下文中,因为扫描会识别此注解。而标记有@TestConfiguration
的类不会受到扫描,并且您必须手动导入每个测试的配置,让您可以灵活地控制该测试所需的bean数量