3

正如帖子標題暗示,我有一個遺留數據庫(不知道是否重要),我使用流利NHibernate和我試圖測試我的映射使用Fluent NHibernate PersistenceSpecification class傳統數據庫,流利NHibernate和測試我的映射

我的問題確實是一個過程,我想在Visual Studio中使用內置的單元測試框架在本地在本地構建時測試這些問題。顯然這意味着(我認爲)我將需要一個數據庫。有什麼方法可以讓這個版本進入?如果我在內存數據庫中使用NHibernate或Fluent NHibernate有一些機制從目標數據庫吮吸數據庫模式,或者內存數據庫可以做到這一點?我是否需要手動將模式提供給內存數據庫?

理想情況下,我希望將此設置置於其他開發人員不必考慮的地方,而不是因爲測試未通過而打破構建時。

+0

什麼是數據庫引擎? – 2010-03-12 17:51:47

+0

SQL Server 2005/2008 – sdanna 2010-03-12 18:19:58

回答

2

NHibernate無法重新創建數據庫的模式,因爲它是一個遺留系統,您可能無法從NH生成模式。最好的方法是在事務中進行集成測試,並在完成時進行回滾。我們針對我們的開發和測試數據庫運行集成測試,這些數據庫定期從實時系統刷新。

+0

也許我錯了,或者我沒有正確理解這個問題,因爲英語不是我的母語,但只要映射是正確的,並且遺留系統有一個.NET數據提供程序不管它是什麼,不應該NHibernate能夠導出數據庫模式? – 2010-03-12 17:54:20

+0

你的英語很好,我的答案可能會更好。除非數據庫是從SchemaExport創建的,否則SchemaExport不太可能產生相同的模式。對於遺留系統,我相信它會有所不同。 – 2010-03-12 18:13:32

+0

因此,在高層次上,我將不得不從SQL Server獲取模式。我也認爲我必須得到一個較小版本的數據庫(超過50GB),只需要足夠的數據來對我的項目進行合理的集成測試。感謝您的迴應! – sdanna 2010-03-17 14:59:02