命令行的Junit测试没有runnable方法异常

时间:2016-03-27 07:30:41

标签: java unit-testing exception junit

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注释。为什么我会收到此错误?

2 个答案:

答案 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。