2010-04-14 84 views
3

奇怪的事情发生在我测试OK运行,现在它不再我没有在这里所有更改代码是例外:为什么我的测试没有运行

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

您是否尝试过重新启动IDE(Eclipse)? – 2010-04-14 16:08:00

+0

@Petar Minchev是的 – 2010-04-14 16:08:40

+0

2个可能工作的提示: - 刷新您的项目(F5) - 清理项目(项目 - >清洁) – chburd 2010-04-14 16:15:15

回答

3

我看到您使用的是Eclipse,但您是否还使用了其他外部构建/测试工具(如Ant或Maven)?有时Eclipse也会在使用其他外部工具时出现不同步的情况。

如果您使用外部工具,请执行任何必要的操作来清除生成的构件(例如mvn clean)。然后刷新Eclipse项目并按照前面的建议做一个干净的构建。然后尝试使用Eclipse再次运行你的单元测试。

祝你好运,希望这有助于。

0

JVM无法找到班级考试。是类名正确的。我的意思是它不是com.example.Test?

+0

@GK它没有关系包名,我使用这个测试来测试我的类没有改变它只是改变了我的类和测试方法为这个类似几次到现在,它只是停止工作了什么都没有 – 2010-04-14 16:11:59

+0

重新安装Eclipse将有助于确保:)只需备份您的工作空间并在以后再使用它。在重新安装之前,请尝试chburd提示。 – 2010-04-14 16:14:49

+0

您是否从其构建路径中删除了任何引用。或者项目构建路径引用的资源。如果您使用的是eclipse,那么一次构建您的项目。 – GuruKulki 2010-04-14 16:16:54

0

检查JUnit测试的运行配置。在类路径选项卡中,如果情况不是这样,则resotre默认条目。 在项目属性中检查junit包和类源文件夹是否都在源包中,并且在预期的目标文件夹中有待测试类的实际类编译existring。

0

我有类似的问题,并且问题是因为外部库(例如Selenium服务器)的构建路径损坏。因此首先请打开构建路径(右键单击项目 - >构建路径 - >配置构建路径),并验证所有外部库可以成功加载(有'无法加载'的消息)。很可能在优化或添加外部工具(如Ant)时重新命名了库。 希望这有助于它会节省您的时间goggling各地:)

WBR, 安德烈

0

如果你使用Maven来构建你的项目,然后它把所有的编译的Java类文件夹类似目标/类和测试类在目标/测试类下。所以我猜eclipse将无法从目标/测试类中找到类。如果您想从Eclipse运行JUnit类,请使用Eclipse-> Project-> clean,然后您将在Eclipse中配置相同目标的所有类。

相关问题