【问题标题】:Separating integration vs. unit tests in gradle based on abstract class基于抽象类在 gradle 中分离集成与单元测试
【发布时间】:2018-09-07 13:13:52
【问题描述】:

我正在尝试将我的 gradle/spock 测试分成两组:

  1. 单元测试
  2. 集成测试

我的尝试是使用 jUnit 的 @Category。在build.gradle 中,我为集成/e2e 测试创建了任务:

task e2eTest(type: Test) {
    useJUnit {
        includeCategories 'com.foo.bar.baz.E2ESpec'
    }
}

并用@Category(E2ESpec) 标记了我的基本抽象类,但它不起作用。

我注意到继承有效,但仅适用于单级继承:

@Category(E2ESpec)
abstract class AbstractSpec {...}

class ActualSpec extends AbstractSpec {...}

但不适用于以下情况:

@Category(E2ESpec)
abstract class AbstractSpect {...}

abstract class AnotherAbstractSpec extends AbstractSpec {...}

class ActualSpec extends AnotherAbstractSpec {...}

知道怎么解决吗?

PS。我有很多扩展 AbstractSpec 的类,并且出现了新的类,所以我不想在每个规范中都使用 @Category。也许存在纯 gradle 解决方案?

【问题讨论】:

    标签: gradle groovy junit spock


    【解决方案1】:

    为集成测试创建一个新的源集,并执行相应的任务。见How do I add a new sourceset to Gradle?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-11-15
      • 1970-01-01
      • 2010-10-27
      • 2016-01-23
      • 2016-10-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多