Java 共享Spock模拟验证

Java 共享Spock模拟验证,java,mocking,spock,Java,Mocking,Spock,假设我正在测试一组servlet,我想确保其中一些(不是全部)设置了正确的头。我可以这样做: then: 1 * response.setHeader('Cache-Control', 'public, max-age=' + 3600) 1 * response.setHeader('X-Foo', 'bar') 我如何将它们放在方法中(在超类或实用程序中),以便我可以这样做: then: verifyCorrectHeader() 根据需要,您可以为此使用显式交互块: def 'the

假设我正在测试一组servlet,我想确保其中一些(不是全部)设置了正确的头。我可以这样做:

then:
1 * response.setHeader('Cache-Control', 'public, max-age=' + 3600)
1 * response.setHeader('X-Foo', 'bar')
我如何将它们放在方法中(在超类或实用程序中),以便我可以这样做:

then:
verifyCorrectHeader()
根据需要,您可以为此使用显式交互块:

def 'the test'() {
    when:
    //...
    then:
    interaction verifyCorrectHeader
}

def verifyCorrectHeader = {
    1 * response.setHeader('Cache-Control', 'public, max-age=' + 3600)
    1 * response.setHeader('X-Foo', 'bar')
}
公共空间互动(封闭区): 将一个或多个交互定义包含在then块中

有关详细说明和更多示例,请参阅文档