NutzCN Logo
问答 ioc的Conf对象无法区分test/resource和main/resource的配置文件
发布于 2652天前 作者 qq_5a594d67 1884 次浏览 复制 上一个帖子 下一个帖子
标签:

采用maven结构的项目.进行单元测试时,需要将测试的配置信息写在test/resource/conf/ 下. 生产的配置信息写在main/resource/conf下. 但新建测试用例,通过org.nutz.ioc.impl.PropertiesProxy进行单元测试时,读取的总是main/resource/conf下的配置信息.
代码如下:
ioc配置:

qspConf : {
        type : "org.nutz.ioc.impl.PropertiesProxy",
        fields : {
            paths : ["conf/qsp.properties"]
        }

test/resource/conf/qsp.properites

QS_Q_REQListName=QS_Q_REQ:rcs13
Resp_addr=condy

main/resource/conf/qsp.properties

QS_Q_REQListName=QS_Q_REQ:rcs13
Resp_addr=rcs13

单元测试用例代码:

package ecc.c3.qsp.service;

import static org.junit.Assert.*;

import org.junit.Test;
import org.nutz.ioc.impl.PropertiesProxy;

import ecc.c3.nutz.test.NutBeanTest;

public class QSPServiceTest extends NutBeanTest {

	@Test
	public void testGetQS_Q_REQListName() {
		PropertiesProxy qspConf=getBean("qspConf",PropertiesProxy.class);
        //测试失败,qspConf.get("Resp_addr")返回的是rcs13
		assertEquals("condy", qspConf.get("Resp_addr"));
           
	}

}

//测试失败,qspConf.get("Resp_addr")返回的是rcs13. 在classpath里面搜索配置文件时先搜索到classes下conf/qsp.properties而不是test-classes/conf/qsp.properites.

1 回复

变通一下, 放在另外一个文件夹,避免覆盖?

添加回复
请先登陆
回到顶部