2012-02-27 49 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是一个自给自足的图书馆。

相关问题