在NHibernate中,我打開show_sql
來運行單元測試。我的每個單元測試都會清除數據庫並重新填充它,這導致大量的SQL查詢,我不希望NHibernate輸出。以編程方式設置show_sql而不重新創建SessionFactory?
是否有可能控制show_sql
不破壞SessionFactory
?如果可能,我想在運行測試設置時將其關閉,然後在測試主體開始運行時再次打開它。
這可能嗎?
在NHibernate中,我打開show_sql
來運行單元測試。我的每個單元測試都會清除數據庫並重新填充它,這導致大量的SQL查詢,我不希望NHibernate輸出。以編程方式設置show_sql而不重新創建SessionFactory?
是否有可能控制show_sql
不破壞SessionFactory
?如果可能,我想在運行測試設置時將其關閉,然後在測試主體開始運行時再次打開它。
這可能嗎?
唯一你可以設置的地方是當建立一個NHibernate.Cfg.Configuration
。 一旦你從你的Configuration
創建SessionFactory
,有沒有辦法來訪問的配置設置,我認爲這是原因,使用工廠模式之一:確保一旦實例成功構建不能運行搞砸重新配置或錯誤配置。
如果你真的需要這個功能,獲得NH源代碼,並發現其中show_sql設置已評估的地方。
另一種選擇,雖然它可能/可能不會像好是使用NHProf和測試時,只是初始化NHProf。
NHProf不記錄設置/清除數據庫只是使用查詢。