如何排除 Geb 中的测试?
How to exclude tests in Geb?
我正在将 Geb 与 Spock 一起使用,我想介绍测试标记。使用语法在 Spock 中很容易实现:
runner {
if (!System.properties.containsKey('test.include.slow')) {
exclude Slow
}
}
如果未找到 test.include.slow
属性,这将排除所有用 @Slow
注释的测试。不幸的是,将 exclude
放入 GebConfig.groovy
并没有真正做到,因为那里没有这样的方法。
有没有办法在 Geb 中使用这种 exclude
方法?
由于您使用的是 spock,因此可以在 class 或方法级别使用 @IgnoreIf。
这是一篇关于它的好文章:
http://mrhaki.blogspot.com/2014/06/spocklight-ignore-specifications-based.html
既然你有一个系统 属性,你应该能够直接插入它:
@IgnoreIf({ !System.properties.containsKey("test.include.slow") })
你走在正确的轨道上,但你应该将运行器配置代码放在 SpockConfig.groovy
而不是 GebConfig.groovy
中,因为它是 Spock 特定配置。
我正在将 Geb 与 Spock 一起使用,我想介绍测试标记。使用语法在 Spock 中很容易实现:
runner {
if (!System.properties.containsKey('test.include.slow')) {
exclude Slow
}
}
如果未找到 test.include.slow
属性,这将排除所有用 @Slow
注释的测试。不幸的是,将 exclude
放入 GebConfig.groovy
并没有真正做到,因为那里没有这样的方法。
有没有办法在 Geb 中使用这种 exclude
方法?
由于您使用的是 spock,因此可以在 class 或方法级别使用 @IgnoreIf。
这是一篇关于它的好文章: http://mrhaki.blogspot.com/2014/06/spocklight-ignore-specifications-based.html
既然你有一个系统 属性,你应该能够直接插入它:
@IgnoreIf({ !System.properties.containsKey("test.include.slow") })
你走在正确的轨道上,但你应该将运行器配置代码放在 SpockConfig.groovy
而不是 GebConfig.groovy
中,因为它是 Spock 特定配置。