スカンジナビア語の文字を含むユーザー名でログインするテストケース(実際は統合テストです)があります。問題は、コマンドラインからAntタスクを実行すると、エンコーディングが正しくないため(UTF-8でなければならない)認証が失敗するということです。テストは、Eclipseから実行するとうまく動作しますが、コマンドラインからはうまく動作しません。AntでjUnitタスクのエンコーディングを設定する
<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
どちらもこれらの作品のこれまでのところ私は、Antターゲットの両方のAntに正しいエンコーディングを教えしようとしました。私は何でも、テストはまだ失敗し、試験報告書は述べている:
<property name="file.encoding" value="cp1252" />
私が言ったように、私は、Eclipseからそれを実行した場合、すべてが美しく動作します。また、エンコードをISO-8859-1に変更してEclipseの実行コンフィギュレーションを変更してテストすると、期待通りにテストが失敗することに気付きました。だから明らかにエンコーディングを変更することは可能ですが、どうやってそれをしますか?
参照:http://stackoverflow.com/questions/1339352/how-do-i-set-dfile-encoding-within-ants-build-xmlおよびhttp://stackoverflow.com/questions/ 1686271/how-do-i-set-file-encoding-for-junit-test-in-ant –