繁体   English   中英

如何在没有主要功能的情况下从命令提示符运行JUnit测试

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM