我想用Jenkins运行一个简单的JUnit测试,首先我想在命令提示符下尝试它,如果有效的话。
JUnit.jar文件位于C:\ junit.jar
我有一个动态的web项目,我有一个“test”包,其中有一个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
但它不起作用。 你能帮我解决这个问题吗?
答案 0 :(得分:1)
仔细阅读命令行:
java -cp C:\junit.jar;... test.TestSuite
# (classpath) (main class)
您告诉Java运行TestSuite的main方法,该方法不存在。现在比较来自the SO question链接的Jens的那个:
java -cp /usr/share/java/junit.jar org.junit.runner.JUnitCore [test class name]
# (classpath) (main class - in JUnit!) (first argument)
第二个命令要求TestSuite
运行java
has a main method java
can call,而不是尝试运行JUnitCore
。在该类名之后,将测试套件作为第一个参数传递,它告诉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)