0

我想通过运行应用程序的所有 junit 测试在测试服务器上测试已经编译的 jar 文件(我们构建的 RPM 的一部分)。原始应用程序 jar 不包含 junit 测试,因此我只想将 junit 测试导出他们自己的 jar 文件中,并通过将应用程序和 junit jar 文件都传递给 testrunner 来运行测试。

不幸的是,Junit 测试使用了一些从我的 maven pom 中列出的 jar 文件导入的帮助类。当我尝试使用常规导出 -> jar 文件方法通过 eclipse 导出我的 junit jar 文件时,我得到了 junit 测试;但不是测试所依赖的额外 Maven 资源。我对 maven 不太熟悉,但我知道我可以使用 maven-assembly-plugin 插件导出整个应用程序。但是,我不知道如何只导出 junit 测试(和相关资源)而不导出所有内容。显然,为了确保正确测试应用程序 jar,我想确保我的 junit jar 不包含任何已包含在我的应用程序 jar 中的资源。

任何人都可以帮助我只导出 src/test 文件夹中的东西及其资源所需的语法吗?将来我们可能会为许多不同的 RPM 执行此过程,理想情况下,我正在寻找一种可以由部署团队在任何未来 RPM 上完成的方法,但部署人员的 Java/Maven 专业知识可能比我自己还要少。所以理想情况下,我正在寻找最容易教授/可重复的方法。不确定如何制作这样的“白痴证明”。

谢谢。

4

1 回答 1

1

我对你想要实际做的事情有点困惑,但无论如何它都在这里。

您可以使用 jar 插件作为第一个选项创建一个测试 jar。

第二种选择是只拥有一个包含测试的单独模块并运行它的测试,并可能在那里创建一个测试 jar。

然而,我的真正想法是为什么不运行已经进行编译和测试执行的正常构建。你实际上还需要什么?

更新:在您澄清之后,我建议建立一个包含 junit 测试作为源的 maven 项目。如果您解压 rpm,将 jar 放入 maven 存储库并声明对它的依赖项,您可以使用 jar 运行构建,并且测试将针对类路径上的任何内容(包括 rpm 中的 jar)执行...

于 2012-12-05T23:18:51.260 回答