一連兩天都被困于一個(gè)POJO而沒有一點(diǎn)進(jìn)展,這聽來十分搞笑,但事實(shí)讓人辛酸。為了獲取一個(gè)數(shù)據(jù)集,寫了一個(gè)POJO,但是運(yùn)行代碼時(shí)前臺(tái)始終報(bào)錯(cuò),腳本只是反復(fù)提醒[object error]。由于不知道錯(cuò)誤在哪,只有一一尋找,從前臺(tái)腳本到存儲(chǔ)過程中的sql語句,每一個(gè)關(guān)鍵之處都作了反反復(fù)復(fù)地檢查,依舊一無所獲。偏偏最終,問題就是出在最沒有可能出錯(cuò)的POJO上,寫一個(gè)getter時(shí)把一個(gè)小寫字母寫成大寫了。Java自然不會(huì)報(bào)錯(cuò),因?yàn)槟侵皇且粋€(gè)沒有用到的函數(shù)而已。屬性本身也不會(huì)應(yīng)為少了個(gè)getter而主動(dòng)站出來抗議,所以,自始至終POJO都一片祥和平靜。
回想一下,思維的漏洞是之前寫了很多個(gè)這樣的POJO,對(duì)于差不多的代碼,拷貝粘貼,甚至因?yàn)槭褂胑clipse的generate getter and setter,出錯(cuò)的概率都相當(dāng)小,當(dāng)然沒有了警惕。不知道是什么時(shí)候不小心該了那個(gè)getter,糟糕地在腳本中反復(fù)測試?yán)速M(fèi)時(shí)間。
單元測試,本該是極好的東西,而在我“磨刀會(huì)誤砍柴功”的急躁心態(tài)下,一直以來都是雞肋。JUnit,到底該不該用呢?照上面那種錯(cuò)誤法,測試一步應(yīng)該就搞清楚了。
文章來源:
http://cynest.cn/drupal/?q=node/681