У меня есть тестовый пример (это действительно интеграционный тест), который входит в систему с именем пользователя, содержащим скандинавские буквы. Проблема заключается в том, что когда я запускаю задачу Ant из командной строки, аутентификация завершается неудачно, потому что кодировка неверна (это должно быть UTF-8). Тест запускается нормально, когда я запускаю его из Eclipse, но не из командной строки. До сих пор я пытался сообщить правильную кодировку Ant обоим в цели Ant:
<target name="run_tests">
<junit fork="no" haltonfailure="no">
<jvmarg value="-Dfile.encoding=UTF-8"/>
<formatter type="xml" usefile="true" />
<classpath refid="test.classpath" />
<test name="com.company.integration.AllIntegrationTests" />
</junit>
</target>
и из командной строки:
ant -D"file.encoding=UTF-8" run_tests
Ни одна из этих работ. Что бы я ни делал, тесты все равно не пройдены, и в отчете говорится:
<property name="file.encoding" value="cp1252" />
Как я уже сказал, если я запускаю его из Eclipse, все работает прекрасно. Я также заметил, что если я изменю конфигурацию запуска в Eclipse для теста, изменив кодировку на ISO-8859-1, тест завершится неудачно, как и ожидалось. Очевидно, что можно изменить кодировку, но как вы это сделаете?