2012年3月19日月曜日

AndroidプロジェクトでJUnit失敗する場合

EclipseのAndroidアプリのプロジェクトで、JUnitを使ってテストしようとしたら、JUnit自体がfatal errorでコケた。
テスト対象のクラスは、AndroidのAPIに依存しない形で作ってたやつだったので「あれー?」とか思ったんだけど、どうやらテスト時のclasspathにandroid.jarが入ってるだけで駄目らしい。

環境
・Ubuntu 10.04 LTS
・JDK 1.7
・Eclipse 3.7 Indigo

問題

↓みたいなエラーメッセージがEclipseのConsoleに表示されてJUnitが動かなかった。
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error (classFileParser.cpp:3470), pid=12159, tid=3063847792
#  Error: ShouldNotReachHere()
#
# JRE version: 7.0_01-b08
# Java VM: Java HotSpot(TM) Server VM (21.1-b02 mixed mode linux-x86 )
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.sun.com/bugreport/crash.jsp
#

解決

  1. Run Configulationsを開く
  2. 対象のJUnitテストの設定を選ぶ
  3. Classpathタブでandroid.jarをremove

↑これでOKだと思うけど、参考にしたページでは、ちゃんとjunit.jarがプロジェクトのBuild Pathに入ってるかどうかも確認してるので、まぁ適宜確認する。

参考:
JUnit - うぃっきうぃき - livedoor Wiki(ウィキ) http://wiki.livedoor.jp/hiromi_u/d/JUnit

0 件のコメント: