2015-11-07 118 views
0

這是我的文件AllTests中的代碼:JUNIT初始化錯誤

import org.junit.runner.RunWith; 
import org.junit.runners.Suite; 
@RunWith(Suite.class) 
@Suite.SuiteClasses({ 
    ElementTests.class 
}) 
public class AllTest {} 

ElementTests.java

import org.junit.Test; 
import pl.polsl.lab1.Model.*; 
import static org.junit.Assert.*; 
import org.junit.Test; 

public class ElementTests { 

    @Test 
    public void properSymbolPlayerTest() 
    { 
     //given 
     ElementOfBoard element = new ElementOfBoard(); 
     ElementOfBoard element2 = new ElementOfBoard(); 
     //when 
     element.setSymbol(1); 
     element.setSymbol(2); 
     //then 
     assertEquals('O', element); 
     assertEquals('X', element2); 
    } 

} 

My error

請,怎麼解決呢? 我正在使用junit 4.11。 我真的不知道初始化錯誤可能是什麼。你能幫我嗎?

我的堆棧跟蹤:

org/hamcrest/SelfDescribing 
java.lang.NoClassDefFoundError 
    at java.lang.ClassLoader.defineClass1(Native Method) 
    at java.lang.ClassLoader.defineClass(ClassLoader.java:760) 
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) 
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:467) 
    at java.net.URLClassLoader.access$100(URLClassLoader.java:73) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:368) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:362) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:361) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
    at java.lang.Class.getDeclaredConstructors0(Native Method) 
    at java.lang.Class.privateGetDeclaredConstructors(Class.java:2671) 
    at java.lang.Class.getConstructor0(Class.java:3075) 
    at java.lang.Class.getConstructor(Class.java:1825) 
    at java.lang.reflect.Constructor.newInstance(Constructor.java:422) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 

回答

1
  • 右鍵單擊Package Explorer中的項目>單擊屬性去 Java構建路徑>庫選項卡中單擊「添加庫」按鈕,選擇 的JUnit單擊下一步。

這應該解決這個問題。

+0

對不起,仍然沒有工作... –

+0

的SA的問題,我認爲是你重複說你既需要了JUnit和Hamcrest罐子。你能確認兩者都在你的類路徑中嗎? –

+0

@Greg Krimer,我有同樣的問題,我有junit.12.0和hamcrest-all-1.3.jar在構建路徑 – Raulucco

0

在我的情況下,問題出在我試圖測試的方法之前,我不小心注意到了@Test。所以它拋出初始化錯誤和方法不可用。

如果我們在課堂上擁有@Ignore,也會發生這種情況。

0

請檢查@Test annotaion添加並從右邊導入路徑進口import org.junit.Test;