eclipseでユニットテストプロジェクトを実行しようとするとjava.lang.NoClassDefFoundError: android/util/Log
エラーが発生します。ダウン蒸留AndroidユニットテストでログにNoClassDefFoundErrorがスローされます
は、私のテストコードは次のようになります。
package com.randomtype.yycparking;
import junit.framework.TestCase;
import android.util.Log;
public class StallTests extends TestCase {
public void setUp() {
Log.v("HI", "Fail");
}
public void testShouldParseIdFromTitle() {
assertTrue(true);
}
}
とコードがLog.v
呼び出しで例外がスローされます。私がアンドロイドプロジェクトを正常に実行すると、例外はありません。Log
。
フルスタックトレース:
java.lang.NoClassDefFoundError: android/util/Log
at com.randomtype.yycparking.StallTests.setUp(StallTests.java:11)
at junit.framework.TestCase.runBare(TestCase.java:132)
at junit.framework.TestResult$1.protect(TestResult.java:110)
at junit.framework.TestResult.runProtected(TestResult.java:128)
at junit.framework.TestResult.run(TestResult.java:113)
at junit.framework.TestCase.run(TestCase.java:124)
at junit.framework.TestSuite.runTest(TestSuite.java:243)
at junit.framework.TestSuite.run(TestSuite.java:238)
at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:130)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
Caused by: java.lang.ClassNotFoundException: android.util.Log
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
... 14 more
dtmilanoで指摘したように、私はAndroid JUnit Test
としてユニットテストを実行されていませんでした。違いをどのように伝えることができますか?あなたが実行する必要がありますあなたのテストが別々のAndroidテストプロジェクト( - - > Androidのツール>新しいAndroidプロジェクトプロジェクト)にする必要があります
ええ、それは私がやっていることです。しかし、まだエラーが発生します。 –
プロジェクトプロパティを確認します(Javaビルドパス - >ライブラリ)。アンドロイドが存在することを確認します。 –
yupアンドロイド2.1があります –