Fight the Future

Java言語とJVM、そしてJavaエコシステム全般にまつわること

IntelliJでTestNGの日本語名のテストメソッドが、MalformedByteSequenceExceptionになるとき

ここ数カ月でIDEをeclipseからIntelliJに変えました。
もう戻れません。

年末のセールで、IntelliJのライセンスを買うことに決めています。

で、IntelliJTestNGのテストを書いて、そのテストメソッドだけ実行、ってやると、「MalformedByteSequenceException: Invalid byte 1 of 1-byte UTF-8 sequence.」。

testng.xml書いて実行させると、普通にテストが実行される…。

うーんと思ったら、メソッド単位の実行だとエンコーディングが環境依存だそうです。
こちらを参考にいたしました。

TestNGで日本語メソッド名のテストケースを実行する - 鳥籠の中で自由に開発をしよう
http://d.hatena.ne.jp/areph/20110726/1311687432


で、IntelliJの設定ファイルにエンコーディングを指定すると、正常に実行できました。
設定ファイルは、Mac OS Xだと「/Applications/IntelliJ IDEA 11 CE.app/Contents
/Info.plist」のJava -> VMOptionsに「-Dfile.encoding=utf-8」を加えるとOKです!