2015-06-21 62 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

我有同樣的錯誤。你如何做你的建議? –

相關問題