2010-10-27 71 views
1

對於我創建的每個實體,我編寫一個單元測試,從數據庫中加載一條記錄來查看查詢是否正常工作,並且可以正確地在實體上設置數據。您可以將其視爲基本映射的單元測試。這也應該確認該類型存在映射文件,並將其設置爲嵌入式資源。爲什麼session.CreateCriteria(typeof(...))對於未映射類型失敗?

測試看起來像這樣(測試駐留在通用基礎類):

session.CreateCriteria(typeof(TEntity)).SetMaxResults(1).List(); 

我不做任何聲明,我只是想看看這條線工作沒有拋出異常。

現在有一種情況我忘了將映射文件設置爲嵌入式資源,但測試仍然有效。但是沒有查詢發送到數據庫,所以它基本上什麼都不做。

爲什麼CreateCriteria()或List()失敗的未映射類型?我該如何測試該特定要求?

編輯:如果發現以下行不會拋出異常,但還是想了解一下第一種情況

session.CreateCriteria(typeof(TEntity)).SetMaxResults(1).Future<TEntity>().ToArray() 

回答

2

我不知道,但顯然在NHibernate的,他們也不知道。有關在此問題上報告的錯誤,請參閱https://nhibernate.jira.com/browse/NH-2183。他們仍在努力。

+0

看起來像,謝謝。我將使用「替代」... – Koen 2010-10-27 14:12:18

相關問題