Spock 断言函数调用
Spock asserting function calls
在 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"]
]))
有没有办法让第二次检查通过?
我正在使用 Spock 1.1 和 Groovy 2.4
根据您的示例,第二个示例从一个列表中创建了一个 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"]))
在 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"]
]))
有没有办法让第二次检查通过?
我正在使用 Spock 1.1 和 Groovy 2.4
根据您的示例,第二个示例从一个列表中创建了一个 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"]))