Внутри спокового теста мы хотим создать ресурс и убедиться, что он правильно расположен независимо от результата теста.
Мы попробовали подход, описанный ниже. Но спок не выполняет тесты, когда тестовый код помещается в замыкание.
import spock.lang.Specification
class ExampleSpec extends Specification {
def wrapperFunction(Closure cl) {
try {
cl()
} finally {
// do custom stuff
}
}
def "test wrapped in closure"() {
wrapperFunction {
expect:
1 == 1
println "will not execute!"
}
}
}
Каков наилучший подход к созданию и утилизации ресурса внутри теста спока.
setup()
и cleanup()
не являются жизнеспособными решениями, поскольку создание и удаление должны быть возможны в произвольных точках внутри метода объекта.