BDD初體驗(yàn)

BDD也是在接觸spock后才了解到的一種開發(fā)方式,或者更直白的說(shuō)是ut的一種編寫思路。

過(guò)往在寫ut時(shí)會(huì)遵從:行為預(yù)設(shè)(Mock)、輸入(Dataprovider)、觸發(fā)、預(yù)期輸出(Assert)的方式來(lái)進(jìn)行單測(cè)的編排。對(duì)比BDD或者TDD方式,已經(jīng)脫離ut初衷,變成為了單測(cè)而編寫單測(cè)的行為。

Spock從概念上就顛覆了我之前對(duì)單測(cè)的認(rèn)知。所有spock的ut都要繼承specification 這個(gè)類,它定義了一種結(jié)構(gòu),就是題目所說(shuō)的BDD。以BDD的方式編寫的不僅僅是一個(gè)測(cè)試用例,而是一個(gè)對(duì)對(duì)應(yīng)代碼所提供功能的準(zhǔn)確描述。以及當(dāng)使用這種思想在編寫測(cè)試用例時(shí),頭腦中不會(huì)再去關(guān)注原方法中的邏輯細(xì)節(jié)(即不會(huì)射出箭后再畫靶),同時(shí)對(duì)于無(wú)法清晰描述其功能的方法產(chǎn)生重構(gòu)的念頭,以及會(huì)極力避免帶有副作用的方法。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,837評(píng)論 18 139
  • 1.測(cè)試與軟件模型 軟件開發(fā)生命周期模型指的是軟件開發(fā)全過(guò)程、活動(dòng)和任務(wù)的結(jié)構(gòu)性框架。軟件項(xiàng)目的開發(fā)包括:需求、設(shè)...
    Mr希靈閱讀 21,984評(píng)論 7 278
  • 本文結(jié)構(gòu): 什么是 TDD 為什么要 TDD 怎么 TDD FAQ 學(xué)習(xí)路徑 延伸閱讀 什么是 TDD TDD 有...
    李浪溪_WaterLee閱讀 75,628評(píng)論 16 168
  • 本次翻譯時(shí)間為2016年9月底,目前Mocha的版本為3.1.0。官方文檔地址: http://mochajs.o...
    Awey閱讀 17,584評(píng)論 4 34
  • #幸福是需要修出來(lái)的~每天進(jìn)步1%~幸福實(shí)修11班~08賈春芬-杭州#20170830(2/30) 【幸福三朵玫瑰...
    chfenj閱讀 297評(píng)論 3 7