繁体   English   中英

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

[英]@Autowired annotation not able to inject bean in JUnit class

我的测试课:

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

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

Classdata data = beanObject.getMethod();

beanObject.getMethod(); 精确给出nullpointer异常

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


从评论中复制:

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

您可能需要使用以下注释来修饰测试:

@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 .. mi某处发生了严重错误?

更多更新:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM