Java JUNIT 初始化错误
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/33585057/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
JUNIT Initialization Error
提问by Aleksandra Bienioszek
this is my code of file AllTests:
这是我的文件 AllTests 代码:
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
@RunWith(Suite.class)
@Suite.SuiteClasses({
ElementTests.class
})
public class AllTest {}
ElementTests.java
元素测试.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);
}
}
Please, how to solve it? I am using junit 4.11. I really have no idea what initialization error could be. Can you help me please?
请问怎么解决啊 我正在使用 junit 4.11。我真的不知道初始化错误可能是什么。你能帮我吗?
My Stack trace:
我的堆栈跟踪:
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.access0(URLClassLoader.java:73)
at java.net.URLClassLoader.run(URLClassLoader.java:368)
at java.net.URLClassLoader.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)
回答by Biraj B Choudhury
- Right click your project in Package Explorer > click Properties go to Java Build Path > Libraries tab click on 'Add Library' button select JUnit click Next.
- 在 Package Explorer 中右键单击您的项目 > 单击 Properties 转到 Java Build Path > Libraries 选项卡单击“Add Library”按钮选择 JUnit 单击 Next。
That should solve this problem.
那应该可以解决这个问题。
回答by Vaishnavi R
In my case the issue was I had accidentally commented out @Testbefore the method I was trying to test. So it was throwing the initialization error and method not available.
就我而言,问题是我在尝试测试的方法之前不小心注释掉了@Test。所以它抛出了初始化错误和方法不可用。
This can also happen if we have @Ignore on the class level.
如果我们在类级别有 @Ignore,也会发生这种情况。
回答by Parthasarathy Deva
Please check @Test annotaion
is added and imported from the right import path import org.junit.Test;
请检查@Test annotaion
是否从正确的导入路径添加和导入import org.junit.Test;