I am having a problems running the following code:
configService.setMainConfig("src/test/resources/MainConfig.xml");
From within a Junit @Before method.
Is this the way Maven builds out its target folder?
I am having a problems running the following code:
configService.setMainConfig("src/test/resources/MainConfig.xml");
From within a Junit @Before method.
Is this the way Maven builds out its target folder?
Access
MainConfig.xml
directly. Thesrc/test/resources
directory contents are placed in the root of your CLASSPATH.More precisely: contents of
src/test/resources
are copied intotarget/test-classes
, so if you have the following project structure:It will result with the following test CLASSPATH contents:
/foo/C.class
/a.xml
/foo/b.xml
To actually access the files from Java source, use
getClass().getResource("/MainConfig.xml").getFile()
.I guess
setMainConfig
expects the path of a resource, that it will load using the ClassLoader, and not a relative file path. It would help if you linked to the javadoc of this mysteriousconfigService.setMainConfig
method.If my guess is correct, then the path should just be MainConfig.xml. Mave copies the contents of
src/test/resources
to thetarget/test-classes
(IIRC) folder. And this test-classes folder is in the classpath of the unit tests.