基于gradle的Groovy之Spock测试框架入门四

这个篇章再介绍点常用的用于spock的装饰器

一、Rollup & Unroll

从字面意思来理解,就是卷起 & 展开,所以我们就很好理解这两个注释是什么意思了,主要是用在多参数的用例中,我们来用例子实践一下,还是之前文章的例子

def "maximum of #a & #b to numbers should #c"(){
        when:
        def sum = Math.max(a, b)
        def result = c
        then:
        sum == result
        where:
        a|b|c
        1|3|3
        7|4|7
        0|0|0
    }

    @Rollup
    def "maximum of rollup test"(){
        when:
        def sum = Math.max(a, b)
        def result = c
        then:
        sum == result
        where:
        a|b|c
        1|3|3
        7|4|7
        0|0|0
    }

这有两个例子,一个是加了rollup的。结果会是怎么样呢?运行后结果如下:

 

 可以看到, 加了@Rollup的用例会将参数化用例显示为一条。要注意的是:现在默认都是unroll了,所有用例中可以不用特别加@Unroll

二、Ignore

用例的跳过,相信大家在用不同框架都会遇到,实例说明下:

@Ignore
def "test_ignore"(){
        expect:
         1==1
    }

@IgnoreIf({System.getProperty(
"os.name").toLowerCase().contains("windows")}) def "test_ignore_if"(){ expect: 1==1 }

不运行

 

除了上面3个,还有一些内置关键字,比如:@Requires @PendingFeature @Stepwise @Timeout @Retry @Use 等等,如果有需要的可以点击连接查看官网。

 

三、并发

并想根据spock 并发文档试着做一下:https://spockframework.org/spock/docs/2.0/all_in_one.html#parallel-execution

结果没成功。试着去查了下,很多还是没解决。弃之.............

posted @ 2022-03-29 15:42  Believer007  阅读(184)  评论(0编辑  收藏  举报