如何向断言消息添加更多数据?

时间:2013-11-12 08:46:09

标签: testing groovy spock

Spock有很好的断言支持。但我有一个问题 - 我想在断言信息中添加更多上下文数据(例如已检查页面的url)。
 我试过了 assert a == b, [context]但在这种情况下,Spock不会打印ab

3 个答案:

答案 0 :(得分:10)

您可以依赖默认条件输出,也可以定义另一个答案中已解释的自定义消息(例如assert a == b : "my message involving $url")。此外,您可以自定义方法名称:

@Unroll
def "log in to #theUrl"() {
    ...
    where:
    theUrl = ...
}

如果您想为不同的网址重复相同的测试,通常会使用此功能,但您也可以将其用于单个网址。

答案 1 :(得分:2)

为什么不在冒号后将 a b 添加到列表中?

assert a == b, [a, b, context]

我知道这有点多余,消息不会以很好的Spock方式格式化,但你仍然可以用适合你需要的方式用GString格式化它。

答案 2 :(得分:1)

我不相信你可以。不确定你的测试是什么样的,但@Unroll annotation可能在这里有帮助吗?