Java測試驅(qū)動開發(fā)

  • 紅燈、綠燈贱鄙、重構(gòu)
  • KISS原則:keep it simple stupid (讓前述規(guī)范得以通過,且最簡單姨谷、最簡短)
  • 總之逗宁,未使用TDD的情況下,單元測試的主要目標(biāo)是驗(yàn)證既有代碼梦湘;而在TDD中瞎颗,單元測試是預(yù)先編寫的,其主要目標(biāo)是定義需求和設(shè)計(jì)捌议,而驗(yàn)證只是副產(chǎn)品哼拔。與實(shí)現(xiàn)后再編寫測試相比,這樣做的一個(gè)結(jié)果是產(chǎn)品質(zhì)量更高
  • 測試不僅提供了驗(yàn)證代碼的途徑瓣颅,還是可執(zhí)行的文檔
  • 學(xué)會不去測試最終結(jié)果倦逐,而專注于當(dāng)前要開發(fā)的單元。這是為了加強(qiáng)信任宫补,因?yàn)槲覀儽仨毿湃嗡司帉懙拇a(輔助類)
  • 僅當(dāng)所有測試都通過后才重構(gòu)僻孝。這樣做的優(yōu)點(diǎn)如下:重構(gòu)是安全的
  • 設(shè)計(jì)——難以測試說明設(shè)計(jì)不佳
  • 設(shè)計(jì)原則:YAGNI;DRY守谓;KISS;奧卡姆剃刀原理您单;SOLID
  • 逐個(gè)規(guī)范并實(shí)現(xiàn)單元斋荞;編寫規(guī)范時(shí),我們將除當(dāng)前單元外的東西都隔離開來虐秦,并驗(yàn)證單元正確調(diào)用了其他單元
  • BDD平酿。將TDD應(yīng)用于功能測試和集成測試
  • TDD的好處之一是凤优,可執(zhí)行文檔始終是最新的。然而蜈彼,僅有通過單元測試獲得的文檔還不夠筑辨。所以我們需要BDD
  • 只要時(shí)間足夠長,所有傳統(tǒng)文檔都將過時(shí)幸逆,唯一準(zhǔn)確的文檔是我們編寫的代碼
  • 大多數(shù)情況下棍辕,其他文檔指的是較簡略的文檔,如概述还绘、系統(tǒng)的總體目標(biāo)楚昭、使用的技術(shù)、環(huán)境搭建拍顷、安裝抚太、構(gòu)建、打包以及其他類型的數(shù)據(jù)昔案。它們不提供詳細(xì)信息尿贫,更像是指南和快速入門。對于這些文檔踏揣,markdown格式的簡單README文件通常是最佳的
  • BDD:可作為需求庆亡,可執(zhí)行,可對工作進(jìn)行驗(yàn)證呼伸,人人都能編寫和理解
  • 遺留代碼就是不帶測試的代碼
  • 遺留代碼存在的一種常見壞味是無法測試
  • 重構(gòu)不能引入任何新功能身冀,即不應(yīng)編寫任何新規(guī)范
  • “基本類型偏執(zhí)”壞味指的是使用基本數(shù)據(jù)類型表示域概念。例如括享,使用字符串表示消息搂根,使用整數(shù)表示金額,使用結(jié)構(gòu)體/字典/散列表示對象
  • 總之铃辖,持續(xù)集成剩愧、持續(xù)交付和持續(xù)部署依賴于與實(shí)現(xiàn)代碼配套的測試,即依賴于TDD娇斩,還要求不使用分支或確保分支的存活時(shí)間極短(被頻繁地合并到主干)
  • 請別忘了重構(gòu)代碼仁卷,刪除不再使用的舊開關(guān),讓代碼更整潔犬第、可讀性更高
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末锦积,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子歉嗓,更是在濱河造成了極大的恐慌丰介,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,366評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異哮幢,居然都是意外死亡带膀,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,521評論 3 395
  • 文/潘曉璐 我一進(jìn)店門橙垢,熙熙樓的掌柜王于貴愁眉苦臉地迎上來垛叨,“玉大人,你說我怎么就攤上這事柜某∷栽” “怎么了?”我有些...
    開封第一講書人閱讀 165,689評論 0 356
  • 文/不壞的土叔 我叫張陵莺琳,是天一觀的道長还棱。 經(jīng)常有香客問我,道長惭等,這世上最難降的妖魔是什么珍手? 我笑而不...
    開封第一講書人閱讀 58,925評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮辞做,結(jié)果婚禮上琳要,老公的妹妹穿的比我還像新娘。我一直安慰自己秤茅,他們只是感情好稚补,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,942評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著框喳,像睡著了一般课幕。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上五垮,一...
    開封第一講書人閱讀 51,727評論 1 305
  • 那天乍惊,我揣著相機(jī)與錄音,去河邊找鬼放仗。 笑死润绎,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的诞挨。 我是一名探鬼主播莉撇,決...
    沈念sama閱讀 40,447評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼惶傻!你這毒婦竟也來了棍郎?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,349評論 0 276
  • 序言:老撾萬榮一對情侶失蹤银室,失蹤者是張志新(化名)和其女友劉穎涂佃,沒想到半個(gè)月后静秆,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,820評論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡巡李,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,990評論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了扶认。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片侨拦。...
    茶點(diǎn)故事閱讀 40,127評論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖辐宾,靈堂內(nèi)的尸體忽然破棺而出狱从,到底是詐尸還是另有隱情,我是刑警寧澤叠纹,帶...
    沈念sama閱讀 35,812評論 5 346
  • 正文 年R本政府宣布季研,位于F島的核電站,受9級特大地震影響誉察,放射性物質(zhì)發(fā)生泄漏与涡。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,471評論 3 331
  • 文/蒙蒙 一持偏、第九天 我趴在偏房一處隱蔽的房頂上張望驼卖。 院中可真熱鬧,春花似錦鸿秆、人聲如沸酌畜。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,017評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽桥胞。三九已至,卻和暖如春考婴,著一層夾襖步出監(jiān)牢的瞬間贩虾,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,142評論 1 272
  • 我被黑心中介騙來泰國打工蕉扮, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留整胃,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,388評論 3 373
  • 正文 我出身青樓喳钟,卻偏偏與公主長得像屁使,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子奔则,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,066評論 2 355

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