最奇怪的事情发生了我的测试运行正常,现在它不再是我根本没有更改代码是例外:
Class not found com.example.test
java.lang.ClassNotFoundException: com.example.test
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
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)
答案 0 :(得分:3)
我看到您正在使用Eclipse,但是您是否也在使用其他外部构建/测试工具,如Ant或Maven?有时Eclipse也会在使用其他外部工具时失去同步。
如果您正在使用外部工具,请执行必要的操作以清除生成的工件(例如,mvn clean)。然后刷新Eclipse项目并按照之前的建议进行干净的构建。然后尝试使用Eclipse再次运行单元测试。
祝你好运,希望这会有所帮助。
答案 1 :(得分:0)
JVM无法找到类测试。是正确的班级名称。我的意思是它不是com.example.Test?
答案 2 :(得分:0)
检查JUnit测试的运行配置。在类路径选项卡中,如果已经不是这种情况,则重新安排默认条目一次。 在项目属性中,检查junit包和类源文件夹是否在源包中,并且在预期的目标文件夹中有一个实际的类编译existring用于测试中的类。
答案 3 :(得分:0)
我有类似的问题和问题是因为外部库(例如Selenium服务器)的构建路径损坏。 首先,请打开构建路径(右键单击项目 - >构建路径 - >配置构建路径)并验证是否可以成功加载所有外部库(有“无法加载”等消息)。很可能在优化或添加Ant等外部工具时重命名/移动了库。 希望这会有所帮助,它可以节省你的时间:)
WBR, 安德烈
答案 4 :(得分:0)
如果使用maven构建项目,那么它将所有已编译的java类放在目标/类的文件夹中,将测试类放在target / test-classes下。所以我猜eclipse将无法从目标/测试类中找到类。如果您想从Eclipse运行JUnit类,请使用Eclipse-> Project-> clean,然后您将在eclipse中配置相同目标下的所有类。