这是我的文件代码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);
}
}
拜托,怎么解决? 我正在使用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)
答案 0 :(得分:3)
那应该解决这个问题。
答案 1 :(得分:2)
在我的情况下,问题是我在我尝试测试的方法之前意外地注释了 @Test 。所以它抛出了初始化错误和方法不可用。
如果我们在班级上有@Ignore,也会发生这种情况。
答案 2 :(得分:1)
请检查是否已从正确的导入路径@Test annotaion
import org.junit.Test;