方面类中的自动装配字段在测试模式下为空

Posted

技术标签:

【中文标题】方面类中的自动装配字段在测试模式下为空【英文标题】:Autowired fields in aspect class are null in test mode 【发布时间】:2018-07-28 21:47:58 【问题描述】:

我使用 Spring boot,在 ma aspect 类中,我得到了两个带有 @Autowired 注释的字段。当我运行代码时,它工作正常,但是当我为这个类运行测试时,这两个自动装配的字段为空。有人可以告诉我需要做什么来解决这个问题吗?我很抱歉缺少代码,但今天我无法访问这个。

【问题讨论】:

请分享您的代码? 我不能共享整个代码,但明天我可以从这个类发送代码。一般来说,我在这个方面类中添加了两个自动装配字段,它可以工作,但当我为这个类运行测试时却不行。那么这个字段是空的。我什至不知道我如何在理论上解决这个问题。 您已经收到 4 次反对票和 3 次关闭投票,仅差 2 次问题完全关闭。因此,请将您的问题编辑为MCVE。从您的代码库中提取一个小的、可执行的示例,重现问题,包括配置。这就是 *** 的工作原理。它是关于具体的编程问题及其解决方案。这里的人往往是像你这样的程序员,而不是媒介。有了你提供的信息,只有一个媒介才能找出你的问题。对不起,伙计。 【参考方案1】:

好吧,考虑到您的问题根本不清楚,这里有一些您可能会在测试代码中遗漏的选项:

    你不是在嘲笑他们,也不是在嘲笑他们,但不是在注入 您根本没有在测试代码中使用注入

附注请阅读并了解有关 Spring Boot 应用程序的依赖注入 (@Autowired) 的更多信息

【讨论】:

以上是关于方面类中的自动装配字段在测试模式下为空的主要内容,如果未能解决你的问题,请参考以下文章

创建 bean 时出错。注入自动装配的依赖项失败。无法自动装配字段

自动装配的 bean 在 MVC 控制器中为空

使用@SpringBootTest时如何在测试类中自动装配bean

弹簧自动装配在非弹簧管理类中不起作用

SpringBean自动装配

静态字段的 Spring Boot 自动装配 BeanCreationException