TestJunit类
import org.junit.Test;
import static org.junit.Assert.assertEquals;
public class TestJunit
{
@Test
public void testAdd()
{
String str= "Junit is working fine";
assertEquals("Junit is working fine",str);
}
}
TestRunner class
/********************************************/
import org.junit.runner.JUnitCore;
import org.junit.runner.Result;
import org.junit.runner.notification.Failure;
public class TestRunner {
public static void main(String[] args) {
Result result = JUnitCore.runClasses(TestJunit.class);
for (Failure failure : result.getFailures()) {
System.out.println(failure.toString());
}
System.out.println(result.wasSuccessful());
}
}
我用过
javac -cp /root/Documents/unit\ tests/junit-4.10.jar TestJunit.java TestRunner.java
编译和
java -cp /root/Documents/unit\ tests/junit-4.10.jar:. org.junit.runner.JUnitCore TestRunner
运行。
它编译时没有错误,但测试失败并出现异常。我的测试方法用@Test
注释。为什么我会收到此错误?
答案 0 :(得分:1)
当您在命令行参数中传递的类没有使用@Test
注释的任何方法时,您会收到该异常。在这种情况下,TestRunner
没有使用@Test
注释的任何方法。
要运行单元测试,请执行以下操作:
java -cp /root/Documents/unit\ tests/junit-4.10.jar:. org.junit.runner.JUnitCore TestJunit
或者:
java -cp /root/Documents/unit\ tests/junit-4.10.jar:. TestRunner
答案 1 :(得分:0)
在我的情况下,测试类在IDE中运行良好,但它不能从命令行工作。
当我添加"测试"时,我才开始工作。 postfix到测试类名。
我使用的是JUnit 4.12。