【问题标题】:Shared Spock mock verification共享 Spock 模拟验证
【发布时间】:2017-06-06 11:31:51
【问题描述】:

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

then:
1 * response.setHeader('Cache-Control', 'public, max-age=' + 3600)
1 * response.setHeader('X-Foo', 'bar')

如何将它们放入方法中(在超类或实用程序中),所以我可以这样做:

then:
verifyCorrectHeader()

【问题讨论】:

    标签: java mocking spock


    【解决方案1】:

    根据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 交互(闭包): 在 then 块中包含一个或多个交互定义...

    有关详细说明和更多示例,请参阅MockingApi.interaction(Closure block) 文档。

    【讨论】:

      猜你喜欢
      • 2017-04-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-03
      • 1970-01-01
      • 2022-06-11
      • 1970-01-01
      相关资源
      最近更新 更多