用Junit对DAO层做单元测试

今天想对Spring的DAO层做单元测试

写好Junit方法,结果报错,说找不到资源文件。果断百度之。

先说两个读取上下文的方法

// ClassPathXmlApplicationContext 是读取 src 目录下的配置文件
ApplicationContext app = new ClassPathXmlApplicationContext("applicationContext.xml");

//  FileSystemXmlApplicationContext 即系统文件路径,文件的目录。
ApplicationContext context = new FileSystemXmlApplicationContext("WebRoot/WEB-INF/applicationContext.xml");

建议1:

做单元测试的Spring不要和真正启动的配置混在一起,尤其和路径相关的配置。分为两个配置就可以了。applicationContext-test.xml和applicationContext.xml,前者在单元测试的时候使用,后者在Web启动的时候使用。 

建议2:

对于WEB应用,程序的起点是WEBRoot。但是,对于单元测试,一般是对于src目录,或者项目根目录。

果断把文件路径改为绝对路径写死就OK了

<property name="configLocation" value="file:E:/8080/webapps/app/WEB-INF/SqlMapConfig.xml"/>

相关推荐