2010-07-07 78 views
0

我正在爲我的Fluent NHibernate映射進行測試,我的問題是 - 如果Id列由Sql Server中的標識表示,測試id值是否是個好主意?由於它在每次插入後都會改變,我怎麼可能做到這一點?在測試Fluent NHibernate映射時測試id值是否是個好主意?

  new PersistenceSpecification<Product>(session) 
       .CheckProperty(p => p.Id, 1) 
       .CheckProperty(p => p.Name, "Awesome hat") 
       .CheckProperty(p => p.Price, 9.90) 
       .CheckList(p => p.StoresStockedIn, new List<Store>()) 
       .VerifyTheMappings(); 

回答

1

我認爲它不會給測試增加任何價值。 PersistenceSpecification會執行插入操作,然後通過標識符選擇對象。如果標識符未生成,則測試將失敗。您可以通過臨時將映射更改爲分配或刪除數據庫列上的標識設置來輕鬆驗證此情況。