【发布时间】:2018-09-07 13:13:52
【问题描述】:
我正在尝试将我的 gradle/spock 测试分成两组:
- 单元测试
- 集成测试
我的尝试是使用 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 解决方案?
【问题讨论】: