JUNIT初始化错误

问题描述:

这是我的文件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) 

  • 右键单击Package Explorer中的项目>单击属性去 Java构建路径>库选项卡中单击“添加库”按钮,选择 的JUnit单击下一步。

这应该解决这个问题。

+0

对不起,仍然没有工作... –

+0

的SA的问题,我认为是你重复说你既需要了JUnit和Hamcrest罐子。你能确认两者都在你的类路径中吗? –

+0

@Greg Krimer,我有同样的问题,我有junit.12.0和hamcrest-all-1.3.jar在构建路径 – Raulucco

在我的情况下,问题出在我试图测试的方法之前,我不小心注意到了@Test。所以它抛出初始化错误和方法不可用。

如果我们在课堂上拥有@Ignore,也会发生这种情况。

请检查@Test annotaion添加并从右边导入路径进口import org.junit.Test;