單元測(cè)試實(shí)踐總結(jié)

單元測(cè)試的作用

單元測(cè)測(cè)試的目的在于驗(yàn)證一個(gè)明確的功能【一般是某個(gè)或者某組函數(shù)在特定條件下的行為】是否正確。

為什么要單元測(cè)試

  1. 有助于提高代碼的設(shè)計(jì)
  2. 有助于提高重構(gòu)信心和質(zhì)量
  3. 有助于幫助理解代碼
  4. 有助于發(fā)現(xiàn)bug和調(diào)試

單元測(cè)試軍規(guī)

步驟簡(jiǎn)單
  1. Setup
  2. 調(diào)用
  3. 斷言
  4. TearDown
用例名稱具有自描述

單元測(cè)試應(yīng)該成為開(kāi)發(fā)文檔。

運(yùn)行快速

單個(gè)用例執(zhí)行時(shí)間要保證在毫秒級(jí),這樣才能保證在重構(gòu)的時(shí)候快速小步前進(jìn)。

原子性

測(cè)試結(jié)果要么失敗,要么成功,沒(méi)有部分成功失敗的說(shuō)法。

冪等性

測(cè)試用例無(wú)論被執(zhí)行多少次,結(jié)果都是一樣的。

單一職責(zé)

每個(gè)測(cè)試用例都只測(cè)試一種行為,注意這里說(shuō)的是行為,而不是方法。

獨(dú)立性

測(cè)試用例之間互不耦合,不能互相影響,盡量不要共享代碼, 如果一定要共享代碼應(yīng)該放置在Setup函數(shù)中。

隔離依賴

要做到以上幾點(diǎn),必須隔離依賴,包括數(shù)據(jù)庫(kù)訪問(wèn),網(wǎng)絡(luò)訪問(wèn),讀寫(xiě)文件,對(duì)用第三方資源等。

Mock依賴對(duì)象并注入

要求面向接口接口,不直接創(chuàng)建依賴對(duì)象,而是Mock依賴對(duì)象并注入。

最后編輯于
?著作權(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)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

  • 一、百變怪 Mockito Mockito可謂是Java世界的百變怪,使用它,可以輕易的復(fù)制出各種類(lèi)型的對(duì)象,并與...
    羅力閱讀 4,156評(píng)論 3 18
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,715評(píng)論 19 139
  • @Author:彭海波 前言 單元測(cè)試(又稱為模塊測(cè)試, Unit Testing)是針對(duì)程序模塊(軟件設(shè)計(jì)的最小...
    海波筆記閱讀 5,129評(píng)論 0 52
  • 什么是單元測(cè)試 在計(jì)算機(jī)編程中,單元測(cè)試(Unit Testing)又稱為模塊測(cè)試, 是針對(duì)程序模塊(軟件設(shè)計(jì)的最...
    HelloCsl閱讀 11,109評(píng)論 1 46
  • 好大的風(fēng)??!她悠悠地睜開(kāi)眼,想到,北京好久沒(méi)刮這么大的風(fēng)了,不過(guò)也好,這或許會(huì)讓前些天爆表的霧霾得到不小的緩解...
    熾熱的火焰閱讀 367評(píng)論 0 0

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