您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關spock中如何使groovy語法,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
在使用spock測試框架時,常常會有如下的測試代碼出現:
// 測試方法 def "test plus 1"() { given: "準備數據" def a = 1 def b = 2 when: "測試方法" def c = calculateService.plus(a, b) then: "校驗結果" c == 4 - 1 }
很多人把它當作固定格式來看待 ,尤其是像我這種從java幾天內上手groovy和spock的,幾乎不會去深究這是什么語法。
其實,在spock框架中,使用到一些groovy特有的語法格式,這些語法在Java中并不常見,具體如下:
Any statement can be associated with a label. Labels do not impact the semantics of the code and can be used to make the code easier to read like in the following example:
任何語句都可以關聯一個標簽,這樣不但不改變語義,還可以讓語句的可讀性更強,如下:
given: def x = 1 def y = 2 when: def z = x+y then: assert z == 3
其實,在java中也有標簽語句,如下代碼:
for (int i=0;i<10;i++) { for (int j=0;j<i;j++) { System.out.println(j); if (j == 5) { break exit; } } exit: System.out.println(i); }
雖然上面的代碼是符合語法的,但是java中一般不推薦使用標簽語句。但是在使用groovy語言的spock測試框架中,這種語法很流行,因為它確實讓測試代碼更加簡單明了。
Power assertion 強斷言/強力斷言,就是在斷言失敗時,提供一個可視化的表達,讓我們更清楚地看到斷言失敗的原因以及斷言語句每一部分的運算結果。
例如,執行以下斷言語句:
assert 1+1 == 3
將會打印出以下內容:
Caught: Assertion failed: assert 1+1 == 3 | | 2 false
當斷言語句更加復雜時,power assertion 則更加能發揮出優勢來。例如,下面spock框架具體測試用例和答應出的結果:
power assertion
def "test1"() { given: "準備mock數據" expect: "測試方法" z == calculateService.plus(x, y) where: "校驗結果" x | y || z 1 | 0 || 1 2 | 1 || 3 }
以上就是spock中如何使groovy語法,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。