2015-06-21 64 views
2

我想测试我的项目,我有以下错误:的JUnit - Android的工作室 - NoClassDefFoundError的异常

Exception in thread "main" java.lang.NoClassDefFoundError: junit/textui/ResultPrinter 
    at java.lang.Class.forName0(Native Method) 
    at java.lang.Class.forName(Class.java:264) 
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:122) 
Caused by: java.lang.ClassNotFoundException: junit.textui.ResultPrinter 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 

我试图在here提到安装的JUnit(不含6-7步骤,我不明白)和here。但仍然有同样的问题。

挖掘异常时,我发现有些文件正在使用无法找到的库libcore(显示cannot resolve symbol 'libcore')。图书馆dalvik.system.VMStack(显示cannot resolve symbol 'VMStack')也是如此。

+0

将junit jar文件添加到您的类路径 – Reimeus

+0

它已经在那里@Reimeus –

回答

4

我遇到了同样的问题,它证明是我在Android Studio中设置的结果。从本质上来说,Android Studio默认(或可能是我在某些时候设置的东西?)在Java JUnit中运行我的测试,而不是在Android JUnit中运行。

要检查此问题,请转到顶部栏并查找“运行”下拉列表,然后尝试单击“编辑配置”。你会看到一个“运行/调试配置”窗口弹出。

在最左边的窗格中,应该只有“Android应用程序”,“Android测试”和“默认”部分。如果有任何文件在“JUnit”文件夹中,而不在“Android测试”文件夹中,则测试可能无法正常运行。要修复它,请选择左上角的加号并选择“Android测试”。此操作允许您创建一个新的运行配置作为Android测试。输入文件顶部的任何重要信息/为更改的运行配置提供文件。例如,如果“TestDB”最初位于“JUnit”下面,则创建一个新的Android测试配置,选择“Class”单选按钮,然后在新文本栏中找到相应的类。您还可以使用“全部应用”或“全包”来为整个测试集创建设置。

选择“JUnit”下的所有内容并单击顶部的减号按钮以删除这些运行配置非常重要。同样重要的是:如果您有机会选择运行配置(即如果您右键单击文件/包,请按“运行”,并显示几个运行选项),请确保始终选择带有Android符号的那个!

0

看起来你忘了导入结果打印机。

import junit.textui.ResultPrinter 
+0

我有同样的错误。你如何做你的建议? –

相关问题