Java 通过命令行运行Junit测试
首先,我已经在stack overflow和其他论坛上搜索了很多帖子,但我找不到任何解决方案( 我会在没有maven的情况下在命令行上启动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
->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脚本;例如设置环境变量。换句话说:您愿意走漫长而艰难的道路。现在,您正面临着这实际意味着什么;-)