用Junit对DAO层做单元测试

本文详细介绍了在进行Spring DAO层单元测试时遇到资源文件找不到错误的解决方法,包括如何将测试配置与Web应用配置分开,以及如何正确设置文件路径。通过改变文件路径为绝对路径,成功解决了资源文件未找到的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天想对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"/>

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值