我试图在我的Linux命令提示符上运行JUnit /opt/junit/包含必要的JARS(hamcrest-core-1.3.jar和junit.jar)和类文件,我使用以下命令来运行JUnit:
java -cp hamcrest-core-1.3.jar:junit.jar:. org.junit.runner.JUnitCore TestRunner
Run Code Online (Sandbox Code Playgroud)
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);
}
}
Run Code Online (Sandbox Code Playgroud)
TestRunner的:
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("fail ho gaya"+failure.toString());
}
System.out.println("passed:"+result.wasSuccessful());
}
}
Run Code Online (Sandbox Code Playgroud)
我在运行它时遇到以下异常
JUnit version 4.11
.E
Time: 0.003
There was 1 failure: …Run Code Online (Sandbox Code Playgroud) 我做了一些单元测试(在测试课上).我读过的教程说我应该为单元测试做一个TestSuite.
奇怪的是,当我直接运行单元测试时(选择测试类 - 运行为jUnit测试)一切正常,但是当我在测试套件中尝试同样的事情时,总会有一个异常:java.lang.例外:没有可运行的方法.
以下是测试套件的代码:
import junit.framework.Test;
import junit.framework.TestSuite;
public class AllTests {
public static Test suite() {
TestSuite suite = new TestSuite("Test suite for com.xxx.yyyy.test");
//$JUnit-BEGIN$
suite.addTestSuite(TestCase.class);
//$JUnit-END$
return suite;
}
}
Run Code Online (Sandbox Code Playgroud)
任何想法为什么这不起作用?