2010-04-14 55 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中配置相同目標的所有類。

相關問題