spock框架進行單元測試的學習與實踐

2022-09-10 04:00:15 字數 1227 閱讀 8713

乙個穩定的系統少不了單元測試,單元測試(又稱為模組測試, unit testing)是針對程式模組(軟體設計的最小單位)來進行正確性檢驗的測試工作。

對於物件導向程式設計,最小單元就是方法,包括父類、抽象類、或者子類中的方法。

所以單元測試的特點:

而單元測試的應用場景一般主要有這幾個:

spock是基於junit的單測框架,提供一些更好的語法,結合groovy語言,可以寫出更為簡潔的單測,它的語法完全遵循 bdd(行為驅動開發) 風格的結構。同時整合了像 jmock、mockito 等語法表達風格於一體,使得它很簡潔有很高的可讀性

spock相比junit有易讀、簡潔、自帶mock等特性,可以減少單元測試編寫時間,而且bug更少,可讀性更好,寫出的單元測試**更優雅,更易於閱讀!

spock提供了覆蓋j**a企業應用的完整的測試生命週期。其他框架,是基於某種需要產生的,比如:junit單純用於單測,但不提供mock;mockito提供mock功能,但不提供靜態類的mock;powermock提供靜態類mock;

它們之間需要整合,且不容易跟上新的測試場景。spock提供了全家桶測試,內建了mock和stub功能等,很方便上手

依賴如果版本對不上會報各種各樣的錯,所以最好是根據m**en倉庫中檢視版本,一定要對應上:

比如如果是3.0版本的spock-core,groovy依賴就必須是:

需要建立groovy類使用spock,所有的類都要繼承specification類,如下:

class spockdemospec extends specification

/*** 每個測試方法開始前都會執行一遍

*/def setup()

/*** 每個測試方法後都會執行一遍

*/def cleanup()

/*** 最後乙個測試方法後執行

*/def cleanupspec()

def "測試given-expect"()

def "測試where"()

def "測試given-when-then"()

def "測試異常thrown"()

}

demo執行結果:

單元測試spock框架基礎

spock基礎 1 fields 字段 屬性 2 fixture methods 骨架方法 def setup 每個功能 測試 方法之前執行的方法 def cleanup 每個功能 測試 方法之後執行的方法 def setupspec 第乙個功能 測試 方法之前執行的方法 def cleanupsp...

單元測試框架進行自動化測試

到底單元測試是做什麼用的?單元測試是一種測試,它不是 的一部分 單元測試是最低層級的測試,它只保證函式的可靠性,不保證其它 單元測試應該能保證每乙個函式的可靠性。單元測試是一種測試,所以,我們應該以一種測試的眼光去面對它 我們要測試正常情況,邊界條件,要對它的測試目標 函式做黑盒分析,白盒分析,選擇...

go Test 單元測試 測試框架

1.建立乙個名為 test.go 的檔案 如果是包中的單元測試,就在包所在目錄下建立該檔案 並將下面的 新增到其中,函式命名統一為test t testing.t package main 包中的單元測試main替換成包名 import testing func testsum t testing....