JUNIT初始化错误

时间:2015-11-07 16:34:16

标签: java junit

这是我的文件代码AllTests:

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)

3 个答案:

答案 0 :(得分:3)

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

那应该解决这个问题。

答案 1 :(得分:2)

在我的情况下,问题是我在我尝试测试的方法之前意外地注释了 @Test 。所以它抛出了初始化错误和方法不可用。

如果我们在班级上有@Ignore,也会发生这种情况。

答案 2 :(得分:1)

请检查是否已从正确的导入路径@Test annotaion

添加并导入import org.junit.Test;