首页 文章

带有自动装配的 spring 启动现场注入在JUnit测试中不起作用

提问于
浏览
1

我想在测试中注入DeMorgenArticleScraper .

@RunWith(SpringJUnit4ClassRunner.class)
public class DeMorgenArticleScraperTest {

    @Autowired
    private DeMorgenArticleScraper deMorgenArticleScraper;

    ...
}

DeMorgenArticleScraper组件有自己的一些配置,但IDE /编译器并没有抱怨它们 .

@Component
public class DeMorgenArticleScraper extends NewsPaperArticleScraper {

    @Autowired
    public DeMorgenArticleScraper(
            @Qualifier("deMorgenSelectorContainer") SelectorContainer selector,
            GenericArticleScraper genericArticleScraper,
            @Qualifier("deMorgenCompany") Company company) {
        super(selector, genericArticleScraper, company);
    }

    ...
}

使用@Qualifier注释的构造函数参数在带有@Bean的Config.class中定义 . 该类本身具有@Configuration . 我认为问题不在这里 .

IDE已经警告我,没有找到bean ...必须在bean中定义自动成员 . 但据我所知,它是在带有@Component注释的bean中定义的 . 所有其他bean接线似乎都可以,因为Spring启动应用程序可以启动(当我注释掉测试类时) .

2 回答

相关问题