当前位置: 首页 > 面试题库 >

@Autowired注释无法在JUnit类中注入bean

曹浩淼
2023-03-14
问题内容

我的测试课:

public class myTest extends TestCase{
@Autowired
BeanClass beanObject
public void beanTest()
{
Classdata data = beanObject.getMethod();
}
}

我在行上得到一个空指针异常:

Classdata data = beanObject.getMethod();

beanObject.getMethod();精确的给出空指针异常

如何使Junit类中的beanObject字段自动装配成为可能,以便可以使用“ BeanClass”类中的方法?

从评论中复制:

用简单的术语来说.. beanClass是具有某些方法的接口..我用@Service("beanObject")
注释标记了该beanClass。.banClass
是由具有方法实现的beanClassImpl类实现的。.我需要在我的testClass中使用这些实现来获取要比较的数据..为此,我正在@Autowired我的testClass..mi中执行
beanClass beanObject。


问题答案:

您可能需要用以下注释装饰测试:

@ContextConfiguration(locations = {/* your xml locations here */})
@RunWith(SpringJUnit4ClassRunner.class)

或者,如果您使用JUnit 3.x,则应从 AbstractJUnit38SpringContextTests

参考:
TestContext支持类

更新: 问题似乎是找不到上下文文件(请参阅注释中的讨论)。

用简单的术语来说.. beanClass是具有某些方法的接口..我已经用@Service(“
beanObject”)注解标记了该beanClass。.banClass是由具有方法实现的beanClassImpl类实现的。.我需要使用那些方法我的testClass中的实现以获取要比较的数据..为此,我正在testClass中执行@Autowired
beanClass beanObject。

更多更新:

不要注释接口,不要注释实现类。注释界面@Service无效!



 类似资料:
  • 我试图构建我的第一个Spring MVC项目,我一直在阅读大量的教程,观看视频等...但我面临着这个问题: 说明服务器遇到一个内部错误,使其无法满足此请求。 例外 servletException:servlet的servlet.init()springDispatcherServlet抛出异常

  • 对于用@X注释的类中的方法或用@X注释的方法,我需要一个切入点。我还需要注释对象。如果类和方法都被注释,我更喜欢将方法注释作为参数。 我尝试了以下操作,这会产生“绑定不一致”的警告。(为什么不直接将其设置为null?) 以下内容创建了“穿过切入点中的“||”的参数x的不明确绑定”警告。(在我看来,这不一定有意义:为什么不绑定第一个短路评估?) 如果存在类和方法注释,则将前面的尝试拆分为两个,自然会

  • 问题内容: 我有一个使用自动装配的3个不同类的A类 在测试它们时,我只希望将其中两个类(B&C)作为模拟,并让D类在正常运行时可以自动装配,但此代码对我不起作用: 甚至有可能这样做吗? 问题答案: 应该是这样的 如果您不想成为别人,则无需在课堂上做任何事情。您 应具有的正确实例。此外,我认为你需要使用的工作,用正确的设定。因为您没有使用,所以需要使用 MockitoAnnotations.init

  • 我已经在我的项目中实现了Hilt依赖项,但是当我需要构造函数的@inject注释时,它就不起作用了。基本上,当我试图手动导入它时,我发现javax中的inject文件夹是空的。因此该结构类似于javax.inject。之后,我什么也得不到,因为inject文件夹是空的。我试过重建和清洁他的项目。我也尝试过使缓存无效,但似乎没有任何效果。我怎么才能让这起作用? 依赖项列表 刀柄版本-2.37

  • 我找到了一些答案:https://stackoverflow.com/a/21218921/2754014 关于依赖注入。没有任何注释,如,或。让我们假设此示例没有任何 XML 配置 的 bean (除了简单