我想在Spock框架的功能方法名称中添加序列号。我怎么能这样做?
提供了一段代码片段以供澄清:
class Test extends Specification {
static def count = 0;
def setup() {
count++
}
def '${count} This is first scenario'() {
...
}
def '${count} This is second scenario'() {
...
}
}
运行此代码后,它会显示在报告中:
$ {count}这是第一个场景
$ {count}这是第二种情况
但我期待:
1这是第一个场景
2这是第二种情况
答案 0 :(得分:1)
这应该有效:
@Unroll
def "foo #iterationCount" { ... }
答案 1 :(得分:0)
这是不可能的。
在def '${count} This is first scenario'()
中,您宣布了一种方法。无法动态生成方法名称。
您可以使用数据驱动的测试和@Unroll
将测试参数注入方法名称的模板中,但我认为这不是您需要的。
一个例子,来自文档:
@Unroll
def "maximum of #a and #b is #c"() {
expect:
Math.max(a, b) == c
where:
a | b || c
3 | 5 || 5
7 | 0 || 7
0 | 0 || 0
}
答案 2 :(得分:0)
使用@Share anotation with count并删除static modifier。
你可以通过使用@Shared注释向Spock指出你希望在所有测试方法中存活的对象。