Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.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 错误:jar中的JUnit命令行测试类_Java_Unit Testing_Junit_Junit4 - Fatal编程技术网

Java 错误:jar中的JUnit命令行测试类

Java 错误:jar中的JUnit命令行测试类,java,unit-testing,junit,junit4,Java,Unit Testing,Junit,Junit4,我已经搜索过这个问题,但我找到的只是如何在单个文件上从命令行运行JUnit 我有一个使用maven创建的小Javaproject。这个项目有我的JUnit测试计算器、套件和测试运行程序 我使用maven编译了这个项目,得到了一个名为cs.jar的项目jar文件 当我从eclipse或maven命令行使用maven时,测试运行良好 现在我必须把这个cs.jar传递给我的同事,因为他的机器上没有maven,所以我想我会给他发送junit.jar和我的cs.jar,这样他就可以运行测试用例并查看结果

我已经搜索过这个问题,但我找到的只是如何在单个文件上从命令行运行JUnit

我有一个使用maven创建的小Javaproject。这个项目有我的JUnit测试计算器、套件和测试运行程序

我使用maven编译了这个项目,得到了一个名为
cs.jar
的项目jar文件

当我从eclipse或maven命令行使用maven时,测试运行良好

现在我必须把这个
cs.jar
传递给我的同事,因为他的机器上没有maven,所以我想我会给他发送
junit.jar
和我的
cs.jar
,这样他就可以运行测试用例并查看结果

他使用windows机器,我向他发送指令,使用以下语法从命令行运行JUnit:

java -cp cs.jar;junit.jar;hamcrest-core.jar org.runner.JUnitCore com.abc.cs.test.run.CSTestRunner
然而,我得到了这个信息-

JUnit version 4.11
Could not find class: com.abc.cs.test.run.CSTestRunner

你知道我遗漏了什么吗?

当你用Maven构建你的项目时,从打包的jar中排除测试类已经足够好了。这是正常的行为,很好;您在构建时进行测试,然后得到一个很好的轻量级jar

如果您想用jar打包测试类(不推荐用于生产),您可以看到


然而,真正的解决办法是让你的伙伴加入Maven的行列;)

两个类(命令行和错误消息)不匹配,你认为这是问题所在吗?@Matthew-不,这不是问题所在。我已经手动编辑了包名以给出一个示例。这是打字错误。我的包名在实际代码中是正确的。执行jar-tvf cs.jar并确保类在其中。