Java 错误:jar中的JUnit命令行测试类
我已经搜索过这个问题,但我找到的只是如何在单个文件上从命令行运行JUnit 我有一个使用maven创建的小Javaproject。这个项目有我的JUnit测试计算器、套件和测试运行程序 我使用maven编译了这个项目,得到了一个名为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,这样他就可以运行测试用例并查看结果
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并确保类在其中。