【问题标题】:Spock asserting function callsSpock 断言函数调用
【发布时间】:2020-07-23 04:35:42
【问题描述】:

在 Spock 中,我试图断言使用给定参数调用了一个方法。

如果我执行以下操作,则测试通过:

        1 * snsClient.publish('arn:aws:sns:foo:bar:status', '{"status":"NEW"}')

如果我执行以下操作,则测试未通过:

        1 * snsClient.publish('arn:aws:sns:foo:bar:status', JsonOutput.toJson([
                ["status":"NEW"]
        ]))

有没有办法让第二次检查通过?

我正在使用带有 Groovy 2.4 的 Spock 1.1

【问题讨论】:

    标签: groovy spock


    【解决方案1】:

    根据您的示例,第二个从列表中创建一个 JSON,其中包含一个地图元素。

    1 * snsClient.publish('arn:aws:sns:foo:bar:status', JsonOutput.toJson([
            ["status":"NEW"]
    ]))
    

    如果您想产生与第一个相同的结果,请不要用列表包装预期的地图。

    1 * snsClient.publish('arn:aws:sns:foo:bar:status', JsonOutput.toJson(["status":"NEW"]))
    

    【讨论】:

      猜你喜欢
      • 2015-04-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-21
      相关资源
      最近更新 更多