昨天在公司內(nèi)部開會(huì),分享我的單元測試經(jīng)驗(yàn),當(dāng)我在提到有關(guān)dao的增刪改操作一般是直接使用HibernateTemplate的相關(guān)方法,所以沒有必要對相關(guān)dao方法進(jìn)行測試時(shí)。

public?void?saveComment(CsComment?comment)?
{
????????getHibernateTemplate().saveOrUpdate(comment);
????}就此引發(fā)了一場爭論,有同事提出疑問說,為什么不需要對增刪改方法進(jìn)行測試,增刪改方法也是DAO中一個(gè)具體實(shí)現(xiàn)功能,那么針對于這個(gè)功能就應(yīng)該進(jìn)行測試。
對于這個(gè)問題,我的理解是,首先應(yīng)該明確單元測試的目的是什么,究竟是測試功能,還是測試代碼
如果要測試功能,那么一個(gè)功能應(yīng)該是縱向的,dao,bl,action都會(huì)有相應(yīng)的增刪改方法,那么3者之間的測試又有什么不同呢?
所以,單元測試,就是在檢測你的代碼,如果你的一個(gè)方法只是簡單的對其他的方法調(diào)用,如上面這個(gè)方法,那么我認(rèn)為就沒有必要花費(fèi)這個(gè)代價(jià)來進(jìn)行單元測試,我們不是為了寫測試代碼而寫單元測試,單元測試保證的是我的代碼質(zhì)量,不是在測試我的功能。功能測試是由相應(yīng)的功能測試來完成。
posted on 2007-02-07 14:41
rocket 閱讀(2326)
評論(10) 編輯 收藏