想要注入一个已注入配置数据源的dao ..不是注释的粉丝,因为它使代码变得丑陋,我想要一个纯XML解决方案。
测试用例位于test文件夹的子文件夹中,与src文件夹处于同一级别
src
com
name
dao
ProductDao
test
com
name
dao
ProductDaoTest
ProductDaoTest需要注入ProductDao。试图做到这一点,春天注入它确定,但ProductDao依赖性没有被注入,我正面临NPE。
考虑将测试类移到src文件夹中,但我不认为我应该这样做。我正在考虑的另一个选择是通过浏览控制器调用运行测试用例(但不再进行单元测试),所以我很难找到正确的事情。
谢谢你! 附:测试是junit,tomcat,spring 3.1答案 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的问题。
干杯,