本篇文章給大家分享的是有關(guān)spock中如何使groovy語法,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
成都創(chuàng)新互聯(lián)專注于企業(yè)成都全網(wǎng)營銷、網(wǎng)站重做改版、吉首網(wǎng)站定制設(shè)計、自適應(yīng)品牌網(wǎng)站建設(shè)、html5、商城系統(tǒng)網(wǎng)站開發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計等建站業(yè)務(wù),價格優(yōu)惠性價比高,為吉首等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
在使用spock測試框架時,常常會有如下的測試代碼出現(xiàn):
// 測試方法
def "test plus 1"() {
given: "準(zhǔn)備數(shù)據(jù)"
def a = 1
def b = 2
when: "測試方法"
def c = calculateService.plus(a, b)
then: "校驗結(jié)果"
c == 4 - 1
}很多人把它當(dāng)作固定格式來看待 ,尤其是像我這種從java幾天內(nèi)上手groovy和spock的,幾乎不會去深究這是什么語法。
其實(shí),在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:
任何語句都可以關(guān)聯(lián)一個標(biāo)簽,這樣不但不改變語義,還可以讓語句的可讀性更強(qiáng),如下:
given: def x = 1 def y = 2 when: def z = x+y then: assert z == 3
其實(shí),在java中也有標(biāo)簽語句,如下代碼:
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中一般不推薦使用標(biāo)簽語句。但是在使用groovy語言的spock測試框架中,這種語法很流行,因為它確實(shí)讓測試代碼更加簡單明了。
Power assertion 強(qiáng)斷言/強(qiáng)力斷言,就是在斷言失敗時,提供一個可視化的表達(dá),讓我們更清楚地看到斷言失敗的原因以及斷言語句每一部分的運(yùn)算結(jié)果。
例如,執(zhí)行以下斷言語句:
assert 1+1 == 3
將會打印出以下內(nèi)容:
Caught: Assertion failed: assert 1+1 == 3 | | 2 false
當(dāng)斷言語句更加復(fù)雜時,power assertion 則更加能發(fā)揮出優(yōu)勢來。例如,下面spock框架具體測試用例和答應(yīng)出的結(jié)果:

power assertion
def "test1"() {
given: "準(zhǔn)備mock數(shù)據(jù)"
expect: "測試方法"
z == calculateService.plus(x, y)
where: "校驗結(jié)果"
x | y || z
1 | 0 || 1
2 | 1 || 3
}以上就是spock中如何使groovy語法,小編相信有部分知識點(diǎn)可能是我們?nèi)粘9ぷ鲿姷交蛴玫降摹OM隳芡ㄟ^這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
當(dāng)前題目:spock中如何使groovy語法
當(dāng)前地址:http://chinadenli.net/article0/jighio.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機(jī)網(wǎng)站建設(shè)、云服務(wù)器、小程序開發(fā)、軟件開發(fā)、響應(yīng)式網(wǎng)站、動態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)