真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

spock中如何使groovy語(yǔ)法

本篇文章給大家分享的是有關(guān)spock中如何使groovy語(yǔ)法,小編覺(jué)得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說(shuō),跟著小編一起來(lái)看看吧。

成都創(chuàng)新互聯(lián)專注于企業(yè)成都全網(wǎng)營(yíng)銷、網(wǎng)站重做改版、吉首網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、html5商城系統(tǒng)網(wǎng)站開(kāi)發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為吉首等各大城市提供網(wǎng)站開(kāi)發(fā)制作服務(wù)。

引言

在使用spock測(cè)試框架時(shí),常常會(huì)有如下的測(cè)試代碼出現(xiàn):

    // 測(cè)試方法
    def "test plus 1"() {
        given: "準(zhǔn)備數(shù)據(jù)"
        def a = 1
        def b = 2

        when: "測(cè)試方法"
        def c = calculateService.plus(a, b)

        then: "校驗(yàn)結(jié)果"
        c == 4 - 1
    }

很多人把它當(dāng)作固定格式來(lái)看待 ,尤其是像我這種從java幾天內(nèi)上手groovy和spock的,幾乎不會(huì)去深究這是什么語(yǔ)法。

其實(shí),在spock框架中,使用到一些groovy特有的語(yǔ)法格式,這些語(yǔ)法在Java中并不常見(jiàn),具體如下:

Labeled statements 標(biāo)簽語(yǔ)句

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:

任何語(yǔ)句都可以關(guān)聯(lián)一個(gè)標(biāo)簽,這樣不但不改變語(yǔ)義,還可以讓語(yǔ)句的可讀性更強(qiáng),如下:

given:
    def x = 1
    def y = 2
when:
    def z = x+y
then:
    assert z == 3

其實(shí),在java中也有標(biāo)簽語(yǔ)句,如下代碼:

for (int i=0;i<10;i++) {
    for (int j=0;j

雖然上面的代碼是符合語(yǔ)法的,但是java中一般不推薦使用標(biāo)簽語(yǔ)句。但是在使用groovy語(yǔ)言的spock測(cè)試框架中,這種語(yǔ)法很流行,因?yàn)樗_實(shí)讓測(cè)試代碼更加簡(jiǎn)單明了。

Power assertion 強(qiáng)斷言/強(qiáng)力斷言

Power assertion 強(qiáng)斷言/強(qiáng)力斷言,就是在斷言失敗時(shí),提供一個(gè)可視化的表達(dá),讓我們更清楚地看到斷言失敗的原因以及斷言語(yǔ)句每一部分的運(yùn)算結(jié)果。

例如,執(zhí)行以下斷言語(yǔ)句:

assert 1+1 == 3

將會(huì)打印出以下內(nèi)容:

Caught: Assertion failed:

assert 1+1 == 3
        |  |
        2  false

當(dāng)斷言語(yǔ)句更加復(fù)雜時(shí),power assertion 則更加能發(fā)揮出優(yōu)勢(shì)來(lái)。例如,下面spock框架具體測(cè)試用例和答應(yīng)出的結(jié)果:

spock中如何使groovy語(yǔ)法

power assertion

data tables

    def "test1"() {
        given: "準(zhǔn)備mock數(shù)據(jù)"

        expect: "測(cè)試方法"
        z == calculateService.plus(x, y)

        where: "校驗(yàn)結(jié)果"
        x | y || z
        1 | 0 || 1
        2 | 1 || 3
    }

以上就是spock中如何使groovy語(yǔ)法,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見(jiàn)到或用到的。希望你能通過(guò)這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


名稱欄目:spock中如何使groovy語(yǔ)法
網(wǎng)站路徑:http://weahome.cn/article/jighio.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部