2011-11-27 81 views
1

我創建的測試項目...我已經updloaded的junit.jar中(運行時間配置類路徑 - >用戶條目 - >的junit.jarjava.lang.NoClassDefFoundError:安卓/測試/ ActivityInstrumentationTestCase2

我得到以下errror當我運行的代碼......

java.lang.NoClassDefFoundError: android/test/ActivityInstrumentationTestCase2 
    at java.lang.ClassLoader.defineClass1(Native Method) 
    at java.lang.ClassLoader.defineClass(Unknown Source) 
    at java.security.SecureClassLoader.defineClass(Unknown Source) 
    at java.net.URLClassLoader.defineClass(Unknown Source) 
    at java.net.URLClassLoader.access$000(Unknown Source) 
    at java.net.URLClassLoader$1.run(Unknown Source) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(Unknown Source) 
    at java.lang.ClassLoader.loadClass(Unknown Source) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) 
    at java.lang.ClassLoader.loadClass(Unknown Source) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.loadClass(RemoteTestRunner.java:693) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.loadClasses(RemoteTestRunner.java:429) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:452) 
    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.test.ActivityInstrumentationTestCase2 
    at java.net.URLClassLoader$1.run(Unknown Source) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(Unknown Source) 
    at java.lang.ClassLoader.loadClass(Unknown Source) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) 
    at java.lang.ClassLoader.loadClass(Unknown Source) 
    at java.lang.ClassLoader.loadClassInternal(Unknown Source) 
    ... 17 more 
+0

您是否正在執行 您的android項目的根目錄(清單文件所在的位置)的測試? –

+0

出側android文件夾.. – ChanGan

回答

0

android.test.ActivityInstrumentationTestCase2是不是在你聲稱已經加入到classpath中的JUnit JAR。

這看起來像你的一個。

你編譯過代碼嗎?如果沒有,請這樣做。

您是否將路徑添加到您的.class文件的寫入位置?如果沒有,請這樣做。

+0

可以請你給我如何添加類路徑..運行 - >運行方式 - >運行配置 - >類路徑。從eclipse文件夾中添加Junit.jar。?它是否正確? – ChanGan

0

按照以下說明:http://developer.android.com/guide/developing/testing/testing_eclipse.html

基本上,你不必添加junit.jar到類路徑中。

+0

嗨,你可以請分享你的郵件ID ..我會寄給你任何我做的..我跟着 http://www.google.com/#sclient=psy-ab&hl=en&qscrl=1&source=hp&q=robotium+with + APK&qscrl = 1&PBX = 1&OQ = robotium +與+ APK&水溶液= F&AQI =&AQL =&gs_sm = E&gs_upl = 71706l8​​5633l0l86082l72l37l27l3l5l6l960l12650l0.13.10.4.2.2.5l50l0&BAV = on.2,or.r_gc.r_pw。,cf.osb&FP = 2b1c1827496a067e&BIW = 1366&波黑= 643我已經在eclipse和系統類路徑中添加了junit.jar ...仍然有同樣的問題.. – ChanGan

-1

這聽起來很奇怪。但所有你需要做的是導入獨奏之前,你導入類,它的作品。至少它爲我做了。我不知道爲什麼我試過,但它所需要的只是切入進口com.jayway.android.robotium.solo.Solo;並將其粘貼在包裝後面。

+0

這很奇怪,可能與導入的順序無關。文件中的順序絕對不重要,因爲運行時將確保正確的順序。 – WarrenFaith

8

您需要將其運行爲Android JUnit測試而不是JUnit測試。 轉到項目瀏覽器中的項目 - >右鍵單擊 - >Android JUnit測試

+0

謝謝!這正是我做錯的地方。 – Seth

0

我有類似的問題。對我來說,改變robotium-solo.jar的「順序和導出」(屬性 - >構建路徑 - >順序和導出),即將其移動到頂部,並通過右鍵單擊項目明確選擇運行爲'android JUnit test'解決了問題。也嘗試運行提供的sample project