2011-06-21 107 views
1

我相信我一直在犯同樣的錯誤,當談到我必須寫的測試。 我們有型動物在我們的應用程序的Maven模塊,並且有一個叫model裏面有所有的POJO的DAOS,所有的休眠stuffs.It只做CRUD操作,不知道所有其它模塊。單元測試和集成在maven數據庫層模塊中測試劃分

寫DAO後,我覺得有一個測試,實際上證明對象正在被持久和刪除等。事實上,事實證明,這是一個集成測試,而不是我迄今爲止讀過的。

做與嘲笑也對其他的單元測試沒有任何意義,我儘量它涉及CRUD操作。

現在我種的立場劃分,當涉及到測試該模塊可走。

這裏最好的做法是什麼?在一個適當的項目中做了什麼?

感謝您的閱讀

回答

2

有幾種方法我能想到。

一種是隻堅持你一直在做什麼,是否就是所謂的整合或單元測試。通常這種類型的模塊有很少的業務邏輯來測試,所以CRUD操作是唯一可測試的事情。如果你有容易訪問的數據庫並設計自己的測試來清理它們,那就好了。更好的是,如果你有數據庫,你可以在測試開始前轉儲。

其它方法很多地方使用,在內存數據庫用於測試(高超音速,例如)。但是,由於您使用不同的數據庫,因此您並未完全測試您構建的產品。然而它會驗證你的Hibernate映射和查詢(這不是特定於目標數據庫的),這可能是你模塊中最重要的可測試方面。

+0

你好,感謝response.I've一直使用的hsqldb以文件模式和mysql.the目標數據庫是mysql.I'm使用腳本,以便在上下文i開關的屬性文件欲測試的分貝(MySQL的.jdbc.properties/msyql.hibernate.properties和hsql相同)。所以我想我只是堅持這一點。謝謝 –