注入单元测试(只有XML)

时间:2012-10-17 21:54:30

标签: java spring dependency-injection junit

想要注入一个已注入配置数据源的dao ..不是注释的粉丝,因为它使代码变得丑陋,我想要一个纯XML解决方案。

测试用例位于test文件夹的子文件夹中,与src文件夹处于同一级别

src
   com
       name
           dao
               ProductDao
test
   com
       name
           dao
               ProductDaoTest

ProductDaoTest需要注入ProductDao。试图做到这一点,春天注入它确定,但ProductDao依赖性没有被注入,我正面临NPE。

考虑将测试类移到src文件夹中,但我不认为我应该这样做。我正在考虑的另一个选择是通过浏览控制器调用运行测试用例(但不再进行单元测试),所以我很难找到正确的事情。

谢谢你! 附:测试是junit,tomcat,spring 3.1

2 个答案:

答案 0 :(得分:1)

不,你不应该这样做。您只需要使应用程序上下文可用于测试,并要求它适当地连接它们。

答案 1 :(得分:1)

您想要对DAO中的哪些方法进行单元测试?你真的没有尝试测试数据库连接吗?

否则我同意@duffymo。

编辑:要详细说明,请尝试将以下代码块调整为您的测试类需求:

final ClassPathXmlApplicationContext beanFactory = 
    new ClassPathXmlApplicationContext( "applicationContext.xml" );
AutowireCapableBeanFactory factory = beanFactory.getAutowireCapableBeanFactory();
factory.autowireBeanProperties( this, AutowireCapableBeanFactory.AUTOWIRE_BY_TYPE , true );
ProductDao dao = context.getBean( "productDao" );

并查看是否不能解决Dao依赖关系bean的问题。

干杯,

相关问题