【问题标题】:How to package tests with gradle and run from command line?如何使用 gradle 打包测试并从命令行运行?
【发布时间】: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 一样打包测试。

标签: java testing gradle


【解决方案1】:

在搜索类似问题时,我遇到了http://mrhaki.blogspot.com/2010/11/gradle-goodness-create-jar-artifact.html 我的修改如下:

task testJar(type: Jar, dependsOn:[testClasses]) {
    from sourceSets.test.output.classesDir
}

您可能想从那里继续。

【讨论】:

    猜你喜欢
    • 2015-08-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-03
    • 2014-04-23
    • 1970-01-01
    • 2014-09-02
    相关资源
    最近更新 更多