Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 通过命令行运行Junit测试_Java_Command Line_Junit - Fatal编程技术网

Java 通过命令行运行Junit测试

Java 通过命令行运行Junit测试,java,command-line,junit,Java,Command Line,Junit,首先,我已经在stack overflow和其他论坛上搜索了很多帖子,但我找不到任何解决方案( 我会在没有maven的情况下在命令行上启动Junit测试 首先是我的工作文件夹 ->JunitTest -->.classpath -->lib ---->hamcrest-core-1.3.jar ---->junit-4.12.jar -->src ---->sommeClass -------->Somme.java (class to test

首先,我已经在stack overflow和其他论坛上搜索了很多帖子,但我找不到任何解决方案( 我会在没有maven的情况下在命令行上启动Junit测试 首先是我的工作文件夹

->JunitTest
-->.classpath
-->lib
---->hamcrest-core-1.3.jar
---->junit-4.12.jar
-->src
---->sommeClass 
-------->Somme.java (class to test)
---->TestSommeClass
-------->SommeTest.java (class test)
我尝试了以下命令:java-cp lib/junit-4.12.jar org.junit.runner.JUnitCore TestSommeClass.SommeTest

但是我有以下错误:初始化错误(org.junit.runner.JunitCommandLineParseResult) java.lang.IllegalArgumentException:找不到类[TestSommeClass.SommeTest]

我很确定这是我的类路径的问题,但是我尝试了setclasspath命令,但是没有在我的.classpath文件中追加任何内容 这里是我的类路径文件

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
    <classpathentry kind="src" path="src"/>
    <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
    <classpathentry kind="lib" path="lib/cta-junit-runner-0.0.1-SNAPSHOT-jar-with-dependencies.jar"/>
    <classpathentry kind="lib" path="lib/cta-junit-runner-0.0.1-SNAPSHOT.jar"/>
    <classpathentry kind="lib" path="lib/junit-4.12.jar"/>
    <classpathentry kind="lib" path="lib/hamcrest-core-1.3.jar"/>
    <classpathentry kind="output" path="bin"/>
</classpath>


我从Junit开始,我的测试在Eclipse中工作得非常好,而且我真的没有找到解决问题的方法,因为已经超过2天了,所以请提供任何帮助!问题是:当您在命令行上启动JVM时,您可以使用-cp告诉它在哪里可以找到您以后需要的所有类o JVM仅包含JUnit JAR

那么,您认为JVM如何能够加载被测试的类呢?换句话说,xml代码段中转换为.class文件所在位置的所有内容……也需要包含在您的-cp信息中


当然,您的问题没有告诉我们在哪里可以找到“生产”代码的编译类。

使用构建工具而不是eclipse(gradle、maven,…)您缺少路径中的src文件夹我不知道src是文件中的第一行是什么意思,错了吗?错了。我已经使用Junit很多年了;但是我想如果我被要求在eclipse之外和“后端”之外手动运行测试构建系统;我也需要花费相当长的时间才能到达那里。因此,该命令看起来更像java-cp的“Junit路径”、“hamcrest核心路径”、“要测试的编译类”、“编译类测试”org.junit.runner.JunitCore TestSommesClass.SommeTest?但是如果我需要在-cp之后给出所有类路径,那么定义文件类路径的实用程序是什么?您找到了人们通常使用eclipse或构建系统来运行单元测试的原因之一。因为手动操作很麻烦。您唯一能做的就是开始编写little脚本;例如设置环境变量。换句话说:您愿意走漫长而艰难的道路。现在,您正面临着这实际意味着什么;-)