3

我已经搜索了这个问题,但我发现的只是如何在单个文件上从命令行运行 JUnit。

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

我使用 maven 编译了项目,得到了一个名为 .jar 的项目的 jar 文件cs.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

任何想法我错过了什么?

4

1 回答 1

1

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

如果你想用你的 jar 打包你的测试类(不推荐用于生产),你可以看到Maven 的解决方案

然而,真正的解决方案是让你的伙伴加入 Maven 潮流;)

于 2013-03-26T10:47:03.713 回答