【发布时间】:2017-04-22 12:08:49
【问题描述】:
我有一个用 gradle 构建到 fatjar 的大型代码库。我有几个在构建时运行的 JUnit 测试。
jar 和资源将提供给隔离系统上的第 3 方,该系统没有 gradle 和构建整个代码库(并运行测试目标)的能力。
问题:如何为我的测试提供 jar,并允许它们像运行 jar 一样从命令行运行?
我在 SO 上找不到任何关于使用 gradle 分发测试的信息,并且所有命令行 JUnit 示例都不够,因为它们需要手动输入类路径并且依赖项的数量很大(因此使用 gradle + fatjar)。
【问题讨论】:
-
这没有直接关系,但您确定您的测试甚至内置到 jar 文件中吗?默认情况下,我认为 jar 将只包含您的生产代码而不是 junit 测试(假设您已遵循约定或 src/main/java 和 src/test/java)
-
既然这是一个孤立的系统,我猜它没有互联网?您是否尝试过从这样的 jar 中运行测试:discuss.gradle.org/t/a-way-to-run-junit-from-unexploded-jar/…。您还可以像打包 fatjar 一样打包测试。