在 spock 测试中创建辅助方法,该方法不会 运行 作为测试
create helper method in spock test that will not be run as a test
我是一名 java 开发人员,发现自己正在修改 groovy 测试,所以如果我对基本 groovy 概念和术语一无所知,我深表歉意(我想我应该在这里说闭包而不是方法?)
无论如何,我的愿望很简单,我想创建一些可以在现有 groovy 测试中重复使用的辅助方法。 starting/stopping 资源之类的东西只需要某些测试(并且会破坏其他测试),或者更快地执行常见测试步骤。
但是,似乎每次我尝试创建这样的方法(闭包?)时,它都会通过 spock 作为测试获得 运行,这会以有趣的方式破坏其他测试。有没有一种简单的方法可以将方法添加到我的 spock 测试中,而无需 运行 作为测试?
看起来让它成为静态可能有效,但我想要一些方法会触及 class 的@shared 变量,所以我不确定静态是否是最佳选择。
我一直在广泛使用特征来编写单元测试。
每个特征都将测试功能引入规范。
trait Helper {
def helpTests() {
println "Starting Test"
return 2
}
}
class MySpec extends Specification
implements Helper {
def "my spec"() {
when:
def n = helpTests()
then:
n == 2
}
}
显然没有执行特征方法。
我是一名 java 开发人员,发现自己正在修改 groovy 测试,所以如果我对基本 groovy 概念和术语一无所知,我深表歉意(我想我应该在这里说闭包而不是方法?)
无论如何,我的愿望很简单,我想创建一些可以在现有 groovy 测试中重复使用的辅助方法。 starting/stopping 资源之类的东西只需要某些测试(并且会破坏其他测试),或者更快地执行常见测试步骤。
但是,似乎每次我尝试创建这样的方法(闭包?)时,它都会通过 spock 作为测试获得 运行,这会以有趣的方式破坏其他测试。有没有一种简单的方法可以将方法添加到我的 spock 测试中,而无需 运行 作为测试?
看起来让它成为静态可能有效,但我想要一些方法会触及 class 的@shared 变量,所以我不确定静态是否是最佳选择。
我一直在广泛使用特征来编写单元测试。
每个特征都将测试功能引入规范。
trait Helper {
def helpTests() {
println "Starting Test"
return 2
}
}
class MySpec extends Specification
implements Helper {
def "my spec"() {
when:
def n = helpTests()
then:
n == 2
}
}
显然没有执行特征方法。