Java 如何在没有主函数的情况下从命令提示符运行JUnit测试
我想用Jenkins运行一个简单的JUnit测试,首先我想在命令提示符下尝试一下,如果可以的话 JUnit.jar文件位于C:\JUnit.jar中 我有一个动态web项目,其中有一个“测试”包,其中有一个LoginTest类Java 如何在没有主函数的情况下从命令提示符运行JUnit测试,java,junit,jenkins,command,prompt,Java,Junit,Jenkins,Command,Prompt,我想用Jenkins运行一个简单的JUnit测试,首先我想在命令提示符下尝试一下,如果可以的话 JUnit.jar文件位于C:\JUnit.jar中 我有一个动态web项目,其中有一个“测试”包,其中有一个LoginTest类 package test; import junit.framework.TestCase; public class LoginTest extends TestCase { @Test public void
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方法,但它并不存在。现在比较链接中的一个:
第二个命令要求java
运行JUnitCore
,而不是试图运行TestSuite
。在该类名之后,将测试套件作为第一个参数传递给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)
可能是重复的好吧,我没有从中学到任何东西,这就是为什么我做了这个主题,然后尝试一下我得到的:线程“main”java.lang.NoClassDefFoundError中的异常:org/hamcrest/selfdescription at java.lang.ClassLoader.defineClass1(本机方法)at java.lang.ClassLoader.defineClass(未知源)在java.net.URLClassLoader.java.net.URLClassLoader.defineClass(未知源)在java.net.URLClassLoader.access$100(未知源)在java.net.URLClassLoader$1.run(未知源)在java.net.URLClassLoader$1.run(未知源)在java.security.AccessController.doPrivileged(本机方法)如上所述,在类路径上同时需要junit.jar和hamcrest-core.jar。否则,将找不到Hamcrest类(如org.Hamcrest.selfdescription)(NoClassDefFoundError)。
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)