spring test读取配置文件

在main和test的resources下同时写有constant.properties文件,实验一下分别在main和test中读取properties文件有什么不同。

测试方法:

1)main:

import org.apache.log4j.Logger;

import com.sssunday.common.utils.ResourcesUtils;

public class MainTest {

	public static void main(String[] args) {
		Logger log = Logger.getLogger(MainTest.class);
		try {
			ResourcesUtils resourcesUtils = ResourcesUtils.getResouce("properties/constant");
			String s = resourcesUtils.getValue("propFrom");
			System.out.println(s);
		}catch (Exception e) {
			log.error(e.getMessage(),e);
		}
	}
}


2)test:

import org.apache.log4j.Logger;
import org.junit.Test;
import com.sssunday.common.utils.ResourcesUtils;
public class UnitTestBySpringTest {

	@Test
	public void testResources() {
		Logger log = Logger.getLogger(TestProject.class);
		try {
			ResourcesUtils resourcesUtils = ResourcesUtils.getResouce("properties/constant");
			String s = resourcesUtils.getValue("propFrom");
			System.out.println(s);
		}catch (Exception e) {
			log.error(e.getMessage(),e);
		}
		
	}
}

场景1

main/resources/properties/constant.proterties propFrom=mainRescouces

test/resources/properties/constant.proterties propFrom=testRescouces

结果 :

MainTest: mainRescouces
UnitTestBySpringTest testRescouces

分析:main读取到main目录下面的properties文件,test读取到test目录下面的properties文件


场景2:修改test下面的资源文件名

main/resources/properties/constant.proterties propFrom=mainRescouces

test/resources/properties/constant11111.proterties propFrom=testRescouces

结果:

MainTest: mainRescouces
UnitTestBySpringTest mainRescouces

分析:main读取到main目录下面的properties文件,test也读取到main目录下面的properties文件


场景3:修改main下面的资源文件名

main/resources/properties/constant11111.proterties propFrom=mainRescouces

test/resources/properties/constant.proterties propFrom=testRescouces

结果:

UnitTestBySpringTest mainRescouces

MainTest: java.util.MissingResourceException:Can't find bundle for base name properties/constant, locale zh_CN

分析:test也读取到test目录下面的properties文件 ,main无法找到资源文件


结论:test下面的方法,可以使用全部的properties文件,读取最新的key-value(前后有同名的key,取最新的值)

main中的方法读取不到test中的properties文件,所以,单元测试将所需的properties文件放到test自己的目录下不会影响spring主程序,同时单元测试可以使用主程序中的properties。






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值