views:

461

answers:

1

I'm not quite done with file.encoding and ant. How do I set the file.encoding for junit tests in ant? The junit ant task doesn't support the encoding attribute like the javac task does.

I've tried running «ant -Dfile.encoding=UTF-8» and «ANT_OPTS="-Dfile.encoding=UTF-8" ant» without success. System.getProperty("file.encoding") within a test still returns MacRoman.

+3  A: 

JUnit supports a child element <jvmarg ...> which should do what you want.

<junit fork="yes">
  <jvmarg value="-Dfile.encoding=UTF-8"/>
  ...
</junit>

I assume you were using the fork=yes attribute since this starts a new JVM for the test run, thus the parameters you send into ant at the command line ant -Dfoo=bar do not necessarily propagate to the JVM running the tests.

Tendayi Mawushe