我正在尝试学习如何编写JUnit测试。
这是Calculator.java中的所有内容。
public class Calculator {
public int add(int a, int b) {
return a + b;
}
}
这是CalculatorTest.java中的所有内容。
import static org.junit.Assert.*;
import org.junit.Before;
import org.junit.Test;
public class CalculatorTest {
private static Calculator calculator = new Calculator();
@Before
public void setUp() throws Exception {
}
@Test
public void testAdd() {
int actual_rs = calculator.add(1, 2);
assertEquals(3, actual_rs);
}
}
如何解决此错误
java.lang.NoClassDefFoundError: org/junit/runner/manipulation/Filter
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:333)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.loadTestLoaderClass(RemoteTestRunner.java:380)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.createRawTestLoader(RemoteTestRunner.java:370)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.createLoader(RemoteTestRunner.java:365)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.defaultInit(RemoteTestRunner.java:309)
答案 0 :(得分:1)
由于您使用的是 Java 13 ,因此请确保您具有 Eclipse 2019-09(4.13)和 Java 13 Support for Eclipse 2019-09 (4.13) 插件-in(或具有内置Java 13支持的Eclipse 2019-12,将于2019年12月18日发布)。
还请确保不要混用JUnit 4和5 。为了学习如何编写JUnit测试,建议使用 JUnit 5代替,而使用过时的早期版本 JUnit 4 。