groovy - 如何使用带有 groovy 的 spock 框架在多个测试之间共享设置

标签 groovy spock

我是 spock 的新手,并注意到设置:规范中的步骤仅限于该特定测试的本地范围。与传统的 junit 方法类似,我如何在这些装置之间共享设置?

谢谢你!

def "setup with spock"() {
    setup:
    def message = new FooMessage()
    def sut = new FooProcessor()
    def builder = Mock(FooBuilder)
    sut.setBuilder(builder)

    when:
    builder.buildFooUsing(_) >> {"bar"}
    def result = sut.process(message)

    then:
    assert result == "bar"
  }

最佳答案

如果要跨测试共享单个对象,则应使用 setupSpec() 或查看 @Shared 注释

关于groovy - 如何使用带有 groovy 的 spock 框架在多个测试之间共享设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7010944/

相关文章:

grails - Geb是否支持多浏览器测试?

jenkins - 在 Jenkins Groovy 中选择所有选项

unit-testing - Grails:测试域对象约束

unit-testing - 仅根据spock的调用次数模拟出方法的返回

maven - 使用 Spock 和 Maven 在单个测试类中运行特定测试

selenium-grid - Geb/Spock + Selenium Grid 上的集成测试不并行运行

grails - 如何创建一个返回多变量数据管道 “grid”的方法?

grails - 路径中的反斜线 '\'已转义

Jenkins 工作 DSL : Using parameters in groovyScript in job step

database - Groovy sql 数据集导致 java.lang.OutOfMemory