基於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

執行後,就是因爲條件不滿足就中止測試

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章