莫名的无法从类路径获取到资源的问题

现象:

    比如有四个source folder:

    src/main/java

    src/main/resources

    src/test/java

    src/test/conf

    莫名的无法从类路径获取到资源的问题_第1张图片

    src/main/resources下有文件jdbc.properties和log4j.properties,

    src/test/conf下有文件t_user.xml,

    这时如果测试的时候代码如下:    

protected IDataSet createDateSet(String tname) throws DataSetException,
			IOException {
		InputStream is = AbstractDbUnitTestCase.class.getClassLoader()
				.getResourceAsStream(tname + ".xml");
		Assert.assertNotNull("dbunit的基本数据文件不存在", is);
		return new FlatXmlDataSet(is);
	}

    执行测试之后报错:

    

Results :

Failed tests:   testAdd(com.yejq.test.TestUser): dbunit的基本数据文件不存在


分析:

    检查default output folder:

    莫名的无法从类路径获取到资源的问题_第2张图片

    发现classes目录下有jdbc.properties、log4j.properties和t_user.xml;

    但是test-classes目录下没有配置文件,仅仅将src/test/conf改成src/test/resources,文件t_user.xml就被拷贝到了

test_classes目录下,然后测试正常;


你可能感兴趣的:(类路径)