8

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

4

3 回答 3

12

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

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

如果您想对不同的 URL 重复相同的测试,您通常会使用它,但您也可以将它用于单个 URL。

于 2013-11-12T14:57:15.510 回答
2

为什么不在冒号后添加ab到列表中?

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

我知道这是一种冗余,消息不会以好的 Spock 方式格式化,但您仍然可以使用 GString 以适合您需要的方式对其进行格式化。

于 2013-11-12T11:40:05.237 回答
1

我不相信你可以。不确定您的测试是什么样的,但也许@Unroll注释可以在这里提供帮助?

于 2013-11-12T08:57:02.217 回答