Spock有很好的断言支持。但我有一个问题 - 我想在断言信息中添加更多上下文数据(例如已检查页面的url)。
我试过了
assert a == b, [context]
但在这种情况下,Spock不会打印a
和b
值
答案 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可能在这里有帮助吗?