[英]How to run JUnit test from command prompt, without a main function
我想用Jenkins运行一个简单的JUnit测试,如果可以的话,首先我想在命令提示符下尝试它。
JUnit.jar文件位于C:\\ junit.jar中
我有一个动态Web项目,其中有一个“测试”包,其中有一个LoginTest类
package test;
import junit.framework.TestCase;
public class LoginTest extends TestCase {
@Test
public void testLogin() {
....
assertstuff...
}
}
我有一个带有TestSuite类的单独项目:
package test;
import org.junit.extensions.cpsuite.ClasspathSuite;
import org.junit.runner.RunWith;
@RunWith(ClasspathSuite.class)
public class TestSuite {
}
然后,我将LoginTest类添加到TestSuite的构建路径中。
如果我在Eclipse中使用JUnit运行TestSuite,那么它可以工作,但是我想从cmd运行它。
我在cmd中尝试了以下内容:
java -cp C:\junit.jar;D:\Documents\eclipse\blablabla\project_path\bin test.TestSuite
但它不起作用。 您能帮我解决这个问题吗?
仔细阅读命令行:
java -cp C:\junit.jar;... test.TestSuite
# (classpath) (main class)
您要告诉Java运行TestSuite的main方法,该方法不存在。 现在比较Jens链接的SO问题中的一个:
java -cp /usr/share/java/junit.jar org.junit.runner.JUnitCore [test class name]
# (classpath) (main class - in JUnit!) (first argument)
第二条命令不是尝试运行TestSuite
,而是要求java
运行JUnitCore
,它具有java
可以调用的主要方法 。 在该类名之后,将您的测试套件作为第一个参数传递,它告诉JUnitCore特别地加载和运行该类。
尝试这个:
java -cp C:\junit.jar;D:\Documents\eclipse\blablabla\project_path\bin org.junit.runner.JUnitCore test.TestSuite
# (your full classpath) (main class) (your test class)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.