2012-02-27 88 views
1

我是jUnit和一般單元測試的新手,並且一直在嘗試設置我的測試環境並且整天失敗。這是試圖在我的android應用程序中測試一個方法。 。eclipse中的Junit在使用junit時產生NoClassDefFoundError

我添加了一個測試類到同一包中的Java類是在我添加了一個方法如下:

@Test 
public void testIsExpectedNote() { 
    assertTrue(Frequency.isExpectedNote(440, "A")); 
}//should return true 

這失敗與以下堆棧跟蹤:

java.lang.NoClassDefFoundError: android/util/Log 
    at dataLogicLayer.Frequency.isExpectedNote(Frequency.java:13) 
    at dataLogicLayer.FrequencyTest.testIsExpectedNote(FrequencyTest.java:11) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
    at java.lang.reflect.Method.invoke(Unknown Source) 
... 
Caused by: java.lang.ClassNotFoundException: android.util.Log 
    at java.net.URLClassLoader$1.run(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) 
    ... 25 more 

任何想法發生了什麼問題?我一直在玩我的運行配置,在類路徑中我有:

jre system library [jre7] 
junit 4 

回答

1

你有你的classpath Android SDK的?搜索包含類android.util.Log在classpath

問候

蠐螬

+0

謝謝,它不在那裏,我刪除它。我無法找到它,任何想法? – 2012-02-27 18:04:20

+0

只需將android sdk再次放入您的classpath :)下載並重新放入您的項目 – Grubhart 2012-02-27 18:12:29

+0

對不起,我在我的classpath中安裝了android 2.2,而不是在此測試類的運行配置中。我可以選擇將jar和項目添加到bootstrap條目,這是我需要它嗎? – 2012-02-27 20:44:36

1

罐子的答案是做一個新項目,並在那裏做測試,而不是,必須讓一個機器人的JUnit測試,並確保運行配置是正確的。感謝Grub的幫助

1

好像你在混合Android SDK和Java SDK。你不應該那樣做。 Android是一個自給自足的圖書館。

相關問題