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

时间:2013-03-20 19:48:09

标签: java unit-testing junit junit4

我已经搜索了SO这个问题,但我找到的只是如何在命令行中运行JUnit。

我有一个使用maven创建的小型Javaproject。这个项目有我的JUnit测试calsses,套件和测试运行器。

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

当我从eclipse或maven命令行使用maven时,测试运行正常。

现在我必须将此cs.jar传递给我的同事,他的机器上没有maven,所以我想我会将junit.jarcs.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

任何想法我都缺少什么?

1 个答案:

答案 0 :(得分:1)

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

如果您想用jar包装测试类(不推荐用于生产用途),您可以看到Maven's solution

然而,真正的解决方案是让你的好友参与Maven的潮流;)