Andriod测试错误 Exception in thread "main" java.lang.NoClassDefFoundError: junit/textui/ResultPrinter 解决

时间:2022-10-27 07:42:38

Andriod Studio 执行测试报错  Exception in thread "main" java.lang.NoClassDefFoundError: junit/textui/ResultPrinter 解决方法

在Android Studio 执行测试时报错:

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)
... 3 more

解决方法:

1. 在Andriod Studio 菜单栏: 点击 “Run” ---> "Edit Configurations..." 

Andriod测试错误 Exception in thread "main" java.lang.NoClassDefFoundError: junit/textui/ResultPrinter 解决

2. 打开 Run/Debug 窗口
Andriod测试错误 Exception in thread "main" java.lang.NoClassDefFoundError: junit/textui/ResultPrinter 解决

可以看到默认是 JUnit的测试,而这里我们要用Android Test

Andriod测试错误 Exception in thread "main" java.lang.NoClassDefFoundError: junit/textui/ResultPrinter 解决

将类名拷贝。

选中 Junit下边的“SwiftMediaTest1.testName1”,点击 左上角的 “-”删除,JUnit的配置会被删除。

Andriod测试错误 Exception in thread "main" java.lang.NoClassDefFoundError: junit/textui/ResultPrinter 解决

3. 点击  左上角的 “+”,在下拉列表 选择 “Android Tests”

Andriod测试错误 Exception in thread "main" java.lang.NoClassDefFoundError: junit/textui/ResultPrinter 解决

Andriod测试错误 Exception in thread "main" java.lang.NoClassDefFoundError: junit/textui/ResultPrinter 解决

4. 根据自己的实际情况 修改如下

Andriod测试错误 Exception in thread "main" java.lang.NoClassDefFoundError: junit/textui/ResultPrinter 解决

Andriod测试错误 Exception in thread "main" java.lang.NoClassDefFoundError: junit/textui/ResultPrinter 解决

应用并保存。

5. 运行测试: 点击 顶部的 Run 按钮,如图:

Andriod测试错误 Exception in thread "main" java.lang.NoClassDefFoundError: junit/textui/ResultPrinter 解决Andriod测试错误 Exception in thread "main" java.lang.NoClassDefFoundError: junit/textui/ResultPrinter 解决

执行测试成功,没有报错.

这特别说明: 不要在方法上 右键,运行,这样还会报之前的错误,这个需要注意。