NHibernate使用XML文件將類映射到數據庫中的表。單元測試XML文件如何比程序代碼(C#,JAVA等)更簡單? NHibernate是否假定映射XML文件是自動完美的,並且不需要測試它們?NHibernate如何使單元測試簡單?
回答
單元測試你的DAO,它封裝你的NHibernate查詢,以驗證你的NHibernate配置/映射是否正確。
如果我們不使用NHibernate,我們可以測試DAO嗎?問題是NHibernate如何進行單元測試「EASIER」。 – 2011-06-05 01:57:24
總是測試DAO。 NHibernate不會讓單元測試更容易。它不是爲了。這是爲了抽象你的數據庫訪問。 – 2011-06-05 01:59:27
謝謝...讚賞... – 2011-06-05 02:03:52
在過去的幾年中,我採取了3點不同的方法:
1 - 不要做任何測試。瞭解何時將您部署到測試服務器的映射是否正確。這並不理想。
2 - 我寫了一些代碼,使用反射,找到了我所有映射的POCO,並自動實例化它們(這是遞歸的,因此它甚至可以探索外鍵),然後從數據庫中取回它們以查看如果所有的屬性都保持正確。
3-圍繞我的Web服務編寫集成測試。我允許這些測試運行一直到數據庫的Web服務代碼。這出現了任何映射問題。
編輯 - 我提到的另一件事是,NHibnerate確實有一個很好的功能,你可以使用內存數據庫。這對於不希望嘲笑NHibnerate但不希望測試依賴於(實際)數據庫服務器的測試很有用。
感謝您的回答。讚賞......但問題是「NHibernate如何使單元測試變得簡單?」 – 2011-06-05 02:01:45
流利NHibernate使用類而不是XML進行映射,我相信對測試有一定的支持。
我不知道這是否可以解決您的問題或不...基本上,如果你使用nhibernate,那麼你最好使用流利的nhibernate。它實際上使用POCO而不是hbm.xml映射來構建代理類,這使得您的生活更容易重構。
關於您的單元測試問題我自己正在尋找一些單元測試場景的線索..舉個例子如果你有一個學生屬於部門,那麼你實際上需要編寫測試用例。你不需要任何編碼來從部署手動測試。這將解決這個問題,因爲現在的手工測試這將是很多更容易導致寫作測試夾具,使u檢驗自己的代碼,無需手動檢查
這裏有一個例子
[TestFixtureSetUp]
public void CanMapCorrectlyStudent()
{
using (ISession session = PersistanceManager.OpenSession())
{
new PersistenceSpecification<Student>(session)
.CheckProperty(c=>c.Studentid,5)
.CheckProperty(c => c.Name, "John")
.CheckProperty(c=>c.Age , 24)
.CheckReference(c=>c.Department,new Department { Dept_id = 1 , Dept_name="MCA" })
.VerifyTheMappings();
}
}
,你可以找到相應的例如,在nhibernate wiki中,爲visual studio安裝testdriven.net,右鍵點擊上面提到的這個函數體並點擊run test。它會自動運行測試,爲您解放手動編碼和重新檢測測試的所有麻煩
- 1. 單元測試nHibernate映射
- 2. 單元測試和nhibernate?
- 3. asp.net mvc nhibernate單元測試
- 4. 功能NHibernate單元測試
- 5. Simple單元測試簡單單元測試
- 6. C#單元測試簡介
- 7. 如何使用xUnitContrib編寫簡單的WP7單元測試?
- 8. 如何使用jmockit做單元測試單元測試
- 9. Android:單元測試:如何使用SensorManager創建單元測試?
- 10. 簡單單元測試NodeJS/Express
- 11. WcfOperationLifestyle簡單注射器單元測試
- 12. 簡單的haskell單元測試
- 13. 簡單方程失敗單元測試
- 14. 「簡單」彈簧單元測試
- 15. 簡單的android單元測試失敗
- 16. 如何使用nhibernate單元測試引用屬性
- 17. 如何爲使用nHibernate的方法編寫單元測試
- 18. 單元測試服務層 - NUnit,NHibernate
- 19. 單元測試應該知道NHibernate嗎?
- 20. 單元測試策略,NHibernate的庫
- 21. 流利的NHibernate單元測試
- 22. 單元測試NHibernate的用戶類型
- 23. NHibernate單元測試夏季拆解
- 24. 單元測試存儲庫。 NHibernate
- 25. NHibernate單元測試案例101
- 26. NHibernate的交易和單元測試
- 27. 運行NHibernate的單元測試
- 28. Fluent Nhibernate映射的單元測試
- 29. 單元測試NHibernate存儲庫
- 30. 如何使用Ruby測試/單元執行單個測試?
您已收到一些有用的回覆。無論你是否將它們標記爲正確的答案,如果它們對你有幫助,你應該至少趕上它們。 – 2011-06-06 17:04:12