共享 Spock 模拟验证
Shared Spock mock verification
假设我正在测试一堆 servlet,我想确保其中一些(不是全部)设置正确 headers。我可以这样做:
then:
1 * response.setHeader('Cache-Control', 'public, max-age=' + 3600)
1 * response.setHeader('X-Foo', 'bar')
如何将它们放入方法中(在超类或实用程序中),以便改为这样做:
then:
verifyCorrectHeader()
根据Spock Documentation,您可以为此使用显式交互块:
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) 文档。
假设我正在测试一堆 servlet,我想确保其中一些(不是全部)设置正确 headers。我可以这样做:
then:
1 * response.setHeader('Cache-Control', 'public, max-age=' + 3600)
1 * response.setHeader('X-Foo', 'bar')
如何将它们放入方法中(在超类或实用程序中),以便改为这样做:
then:
verifyCorrectHeader()
根据Spock Documentation,您可以为此使用显式交互块:
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) 文档。