@Autowired注释无法在JUnit类中注入bean
我的考试class:
public class myTest extends TestCase{ @Autowired BeanClass beanObject public void beanTest() { Classdata data = beanObject.getMethod(); } }
我在行处获得空指针exception:
Classdata data = beanObject.getMethod();
beanObject.getMethod();
精确地给出了nullpointerexception
我应该如何使我的Junit类中的字段beanObject自动assembly,以便我可以使用“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
注释接口无效!