我有两个文件:
Calc.java
public class Calc {
public int add(int a, int b) {
return a + b;
}
public int subtract(int a, int b) {
return a - b;
}
}
和TestCalc.java
import org.junit.* ;
import static org.junit.Assert.* ;
public class TestCalc {
Calc c = new Calc();
@Test
public void testSum() {
// 6 + 9 = 15
int expected = 15;
int actual = c.add(6, 9);
assertEquals("adding 6 and 9", expected, actual);
}
@Test
public void testSubstr() {
// 18 - 3 = 15
int expected = 15;
int actual = c.subtract(18, 3);
assertEquals("subtracting 3 from 18", expected, actual);
}
}
他们编译时没有错误:
javac -cp .:junit-4.11.jar TestCalc.java
javac -cp .:junit-4.11.jar Calc.java
但是当我试图跑步时,我收到了一个错误:
java -cp .:junit-4.11.jar TestCalc
Exception in thread "main" java.lang.NoSuchMethodError: main
请有人解释原因吗?以及如何解决这个问题?
答案 0 :(得分:1)
您应该使用JUnit's runners来运行测试用例类。
java -cp .:junit-4.11.jar org.junit.runner.JUnitCore TestCalc.java
JUnitCore将在您的测试类中运行测试。