[英]How to add a protected configuration with access to properties to a Spring Boot Test context?
我将 JUnit 5 与 Spring Boot 2.5.2 一起使用。 现在我想编写一个单元测试,它不会加载完整的应用程序上下文。 因此,我像这样注释我的测试:
@ExtendWith(SpringExtension.class)
@ContextConfiguration(classes = {ConfigurationA.class})
class Test1{
...
}
在 ConfigurationA 中,Bean1 被创建。 问题是 ConfigurationA 访问 ConfigurationB 以创建 Bean1,但 ConfigurationB 受到保护。
现在我收到以下错误:
使用 com.package.sample.config.ConfigurationA 中定义的名称“Bean1”创建 bean 时出错:通过方法“createBean1”参数 0 表示的不满足的依赖关系; 嵌套异常是 org.springframework.beans.factory.NoSuchBeanDefinitionException: Noqualifying bean of type 'com.package.sample.config.ConfigurationB available: expected at least 1 bean that qualified as autowire候选。 依赖注释:{}
当我将 @ContextConfiguration... 更改为 @SpringBootTest 时,它可以工作,但整个上下文都被加载了。
是否有任何解决方案可以不加载整个上下文?
只需让 ConfigurationA 扩展 ConfigurationB
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.