H3BPM Controllers 單元測(cè)試(一)

作用:

1,從代碼層面去測(cè)試程序是否可靠
2,重構(gòu)代碼時(shí),保證了輸入和輸出的正確性
3,單元測(cè)試,可以保持功能的顆粒度相對(duì)較小

TDD:

Test Driven Development 測(cè)試驅(qū)動(dòng)開發(fā)

測(cè)試代碼先行,通過需求分析,設(shè)計(jì)測(cè)試用例。通過豐富的測(cè)試用例,來編寫單元測(cè)試代碼。通過完整并且健壯的單元測(cè)試再進(jìn)行功能的開發(fā)。這樣功能代碼則是可靠的,并且在方法修改后,可以通過單元測(cè)試反復(fù)驗(yàn)證代碼的可靠性。但也會(huì)引發(fā)一些問題,單元測(cè)試代碼通常是功能代碼的兩倍之上,會(huì)增加相當(dāng)大的工作量。在方法約定發(fā)生改變時(shí),相應(yīng)的單元測(cè)試也需要進(jìn)行修改。

TIM圖片20180608135352.jpg
  • 測(cè)試先行
    將需求分解,針對(duì)每一個(gè)小的單元設(shè)計(jì)測(cè)試用例,編寫測(cè)試代碼

  • 實(shí)現(xiàn)業(yè)務(wù)代碼
    實(shí)現(xiàn)業(yè)務(wù)代碼,并讓業(yè)務(wù)代碼通過測(cè)試

  • 重構(gòu)代碼
    將業(yè)務(wù)代碼進(jìn)行重構(gòu),優(yōu)化業(yè)務(wù)代碼

KeyTips:

  1. 保持單元測(cè)試的獨(dú)立性
  2. 不要濫用斷言(Assert)
  3. 每個(gè)測(cè)試只有一個(gè)邏輯性的斷言(Assert)
  4. 一次單元測(cè)試只測(cè)試一個(gè)模塊
  5. 剔除外部服務(wù)和狀態(tài),不依賴于過多的服務(wù)
  6. 保持單元測(cè)試名稱的清晰以及一致性
  7. 單元測(cè)試不是覆蓋所有的手動(dòng)測(cè)試

方法類型:

  1. 無引擎交互

  2. 引擎交互(數(shù)據(jù)庫(kù)交互)
    Mock數(shù)據(jù)
    引擎交互(增/改)
    Assert 邏輯
    清楚Mock數(shù)據(jù)(刪除)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 摘自http://www.51testing.com/html/75/n-3721875.html 單元測(cè)試,一個(gè)...
    許小小晴閱讀 504評(píng)論 0 1
  • 前言 最近小組里面引進(jìn)了Spock這個(gè)測(cè)試框架,本人在實(shí)際使用了之后,體驗(yàn)非常不錯(cuò),本篇文章一是為了鞏固輸入的知識(shí)...
    Richard_易閱讀 1,486評(píng)論 0 8
  • 一、百變怪 Mockito Mockito可謂是Java世界的百變怪,使用它,可以輕易的復(fù)制出各種類型的對(duì)象,并與...
    羅力閱讀 4,153評(píng)論 3 18
  • 什么是單元測(cè)試 在計(jì)算機(jī)編程中,單元測(cè)試(Unit Testing)又稱為模塊測(cè)試, 是針對(duì)程序模塊(軟件設(shè)計(jì)的最...
    HelloCsl閱讀 11,100評(píng)論 1 46
  • 初見你清澈明亮的眸子, 將我輕輕牽動(dòng)。 從未有過的悸動(dòng)悄悄拎上心頭。 再見你燦爛明媚的笑容, 任垂的長(zhǎng)發(fā)將羞紅的臉...
    夏唯芃閱讀 289評(píng)論 2 10

友情鏈接更多精彩內(nèi)容