首页 > 解决方案 > spockframework 中的 Mockito ArgumentCaptor 等效项

问题描述

我开始使用 spockframework 编写单元测试,并且我想验证传递给我的测试所依赖的类的某个方法的参数。在 Mockito 中,我们有 ArgumentCaptor 来执行此操作,但我无法在 spock 上找到执行此操作的方法。

也许对关闭进行了一些操作(我仍在努力学习)?或者 spock 有一些内置功能?

我很感激任何指导来学习这一点!

标签: groovyspock

解决方案


这就是您在 Spock 中的操作方式:

def "it checks the arguments passed to the helper"() {
    given:
    def cut =new Cut(helper:Mock(Helper))

    when:
    cut.doStuff()

    then:
    1 * cut.helper(expectedArg) >> returnedResult

    where:
    expectedArg="This is expected"
    returnedResult="xyz"
}

推荐阅读