首页 > 解决方案 > 用于加载配置集成测试的 Spring Boot @Import 不起作用

问题描述

我有一个简单的 Spring Boot 应用程序,并且正在实施一些集成测试。我有 2 个类,一个将保存我的通用配置(Demo3ApplicationTests),另一个是我的集成测试类(DumyClassTest),请在下面找到它暂时是空的:

@SpringBootTest(classes = Demo3Application.class)
class Demo3ApplicationTests {

    @Test
    void contextLoads() {
        
    }

}

我的集成测试类:

@Import(value = Demo3ApplicationTests.class)
public class DumyClassTest{
    
    
    
    @Autowired
    DemoService demoService;
    
    @Test
    public void testImportConfig() {
        
        demoService.logDummyMsg();
        
    }

}

当我运行测试 testImportConfig 时, demoService 值为 null,因为我猜 @import 我没有正确设置它。但是,当我扩展时,DumyClassTest extends Demo3ApplicationTestsdemoService 不为空并且测试运行正确。

知道为什么当我使用导入注释时 demoService 为空吗?

提前致谢。

标签: springspring-boot

解决方案


推荐阅读