在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"]))