If I understand your problem correctly, you're having problems accessing resource files from your unit tests?

I think what you want to do is access your resource files differently.

Note that when the process-test-resources goal is called (as part of mvn package or install or test, etc), files in src/test/resources are copied into target/test-classes and as such are available on your classpath. Thus, in your unit test, you can access the file like so:

Thread.currentThread().getContextClassLoader().getResource("file.txt")

That gives you a URL from which you can get a File, or use one of the other getResource... methods if you prefer.

This will work no matter what your user.dir is, or from wherever you execute the tests (ie build your project).

Hope that helps.

J

On 12-Jan-06, at 8:01 AM, Joern Huxhorn wrote:

Hi,

I have the following problem with a multi-module project:

The file structure looks like this
pom.xml (parent pom of modules)
module1/pom.xml
module2/pom.xml

In some of our testcases we need to access files so these files are located in src/test/resources of the respective project. Everything works fine as long as I build the project from the submodules path since the path is specified relative, e.g. src/test/resources/ file.txt. If I try to build all modules using the parent pom, however, the testcases fail since the file is now expected in src/ test/resources/file.txt realtive to the parent poms folder.

Is this a bug or a feature? I expected the current dir (user.dir) to change for every executed sub-module build.

Any ideas how I could solve this problem? Absolute filenames are not really an option (that's my current workaround and it's a real burden)

Thanks, Joern.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


--
Julian Wood <[EMAIL PROTECTED]>

Programmer/Analyst
University of Calgary

http://commons.ucalgary.ca


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to