2012-01-11 12 views
4

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プロジェクトプロジェクト)にする必要があります

Screen shot of a beside JUnit icon

答えて

3

:少し下の写真のような探しAndroid JUnitテスト(として実行 - > Android JUnitテスト)。

+0

ええ、それは私がやっていることです。しかし、まだエラーが発生します。 –

+0

プロジェクトプロパティを確認します(Javaビルドパス - >ライブラリ)。アンドロイドが存在することを確認します。 –

+0

yupアンドロイド2.1があります –

0
ここ

同じ間違い、その他の理由...

私のテストクラスが匿名のパッケージにあったが、それはAndroidManifest.xmlをしてinconistentた:

<instrumentation 
     android:name="android.test.InstrumentationTestRunner" 
     android:targetPackage="micharg.nameanimalthing" /> 

[同じ答えがhere]

関連する問題