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

上篇文章中我们介绍了Spock测试框架环境的搭建及最简单的用例。接下来这篇,我们介绍基于Spock怎么写自动化用例。

需要了解的是Spock也是一个基于BDD方式的测试框架。

Spock测试套件包括的关键字/函数有以下,后续再详细介绍

关键函数
setupSpec()  ---只跑一次
setup()         ---每个测试前跑一次
cleanup()      ---每个用例结束后跑一次
cleanupSpec()   --结束后跑一次

关键字
given 
and when then expect cleanup where 不用解释,看字面意思应该好理解

那我们来看看give when then 的写法。编写如下的代码加在原来的文件中

def "check case-insensitive equality of 2 strings"() {

        given:
        String str1 = "hello"
        String str2 = "HELLO"

        when:
        str1 = str1.toLowerCase()
        str2 = str2.toLowerCase()

        then:
        str1 == str2

    }

    def "check addition of 2 numbers"() {

        given:
        int input1 = 10
        int input2 = 25

        when:
        int result = input1 + input2

        then:
        result == 35
    }

很简单的2段代码。跑完后结果如下:

 

 

需要注意的地方:

1. 如果你使用BDD模式的话,when 和then必须成对出现

  比如不写when,直接写then会提示如下错误(但只写when是可以的)

2. 有时候我们在given中就想做断言,可以使用expect来进行。

 比如下面这段用例

def 'expect case' (){
        given:
          int inpu1 = 20
        expect:
          inpu1 == 30
        when:
          int result = inpu1 + 3
        then:
         result ==15
    }
View Code

执行后,就是因为条件不满足就中止测试

 

posted @ 2022-03-23 16:22  Believer007  阅读(257)  评论(0编辑  收藏  举报