新しいPCにAndroidの開発環境を構築した際に、jUnitが実行できなくてはまったので、解決法を備忘のために記載します。
1. 事象
メインのプロジェクトとそれに対応するテストプロジェクトを作成し、テストクラスを作りました。
早速実行してみたところ、”The specified jre installation is not found”というエラーが。
2. 解決法
EclipseADTは公式に記載の通り、JDK6が必要です。
Development tools
- JDK 6 (JRE alone is not sufficient)
- Apache Ant 1.8 or later
- Not compatible with Gnu Compiler for Java (gcj)
Note: Some Linux distributions may include JDK 1.4 or Gnu Compiler for Java, both of which are not supported for Android development.
これをインストールし、Eclipse > Preference > Java > Installed JREsを開いて、AddからStandard VMを選択し、JRE homeに先ほどインストールしたJDKの場所を入力します。
* 自分のOSXの場合、/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home にインストールされていました。
これで解決かと思いきや、Run As >jUnit Test から実行してみると、以下のようなエラーが発生しました。
An internal error occurred during: “テストクラス名”. java.lang.NullPointerException
調べてみると、AndroidはjiUnit4に対応していないようです。
junit.framework.TestCaseをインポートし、テストクラスをTestCaseから継承して作成して、Run Configurations から Test Runner をjUnit3に変更して実行。
これで無事テストが実行できるようになりました。