假设我正在测试一堆 servlet,并且我想确保其中一些(不是全部)设置了正确的 header 。我可以这样做:
then:
1 * response.setHeader('Cache-Control', 'public, max-age=' + 3600)
1 * response.setHeader('X-Foo', 'bar')
如何将它们放入方法中(在父类(super class)或实用程序中),这样我就可以这样做:
then:
verifyCorrectHeader()
最佳答案
根据Spock Documentation您可以为此使用显式交互 block :
def 'the test'() {
when:
//...
then:
interaction verifyCorrectHeader
}
def verifyCorrectHeader = {
1 * response.setHeader('Cache-Control', 'public, max-age=' + 3600)
1 * response.setHeader('X-Foo', 'bar')
}
public void interaction(Closure block): Encloses one or more interaction definitions in a then block...
参见MockingApi.interaction(Closure block)详细说明和更多示例的文档。
关于java - 共享Spock模拟验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41781236/