我创建了一个集成测试来测试我刚刚添加的新功能,但Spring连接不起作用.单元测试所有工作,现有的Spring集成测试仍然有效,但我无法自动连接我的新类

以下是错误消息-

org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'com.xxx.xxx.etc.MyNewClassTest’: Unsatisfied dependency expressed through field 'sut'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.xxx.xxx.etc.MyNewClass ' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}

新班级-

@Slf4j
@Component
public class MyNewClass extends AbstractRetryJob<Event> {

我的测试-

@ExtendWith(SpringExtension.class)
class MyNewClassTest {
  @Autowired private MyNewClass sut;

你知道哪里出了问题吗?

推荐答案

添加@ExtendWith(SpringExtension.class)不足以创建Spring上下文.你需要在你的MyNewClassTest的基础上加上@SpringBootTest.根据适当的 comments ,您可以go 掉@ExtendWith(SpringExtension.class)

@SpringBootTest
class MyNewClassTest {

  @Autowired private MyNewClass sut;
}

Java相关问答推荐

Spicejet日历处理-使用Selenium Java

是否需要关闭Executors返回的执行器.newVirtualThreadPerTaskExecutor()?

Java在模块化jar文件中找不到类,但是javap可以

如何将kotlin代码转换为java

S的字符串表示是双重精确的吗?

是否在允许数组元素为空时阻止 idea 为空性警告?

如何调整工作时间日历中的时间

如何确定springboot在将json字段转换为Dto时如何处理它?

无法了解Java线程所消耗的时间

在Java中如何从Executors.newFixedThreadPool(MAX_THREAD_COUNT())迁移到虚拟线程

Com.google.firebase.database.DatabaseException:无法将类型为java.lang.Boolean的值转换为字符串.这是关于什么的?

Tinylog中的滚动文件会在每次应用启动时覆盖日志(log)文件

是否为计划任务补偿系统睡眠?

垃圾回收器是否真的删除超出作用域的对象?

我的代码是线程安全的吗?[Java、CAS、转账]

在整数列表中查找和可被第三个整数整除的对时出现无法解释的RunTimeError

Java嵌套流查找任意值

为什么我的登录终结点不能被任何请求访问?

如何在Spring Security中设置一个任何人都可以打开的主页?

Java中的一个错误';s stdlib SocksSocketImpl?