4
我想了解社區的其他人如何測試他們的Fluent Nhibernate映射。假設我有以下映射:Fluent Nhibernate映射的單元測試
public UserHeaderMap()
{
Table("USER_HEADER");
Id(x => x.Id, "USER_ID");
Map(x => x.LoginName, "LOGIN_NAME");
Map(x => x.UserPassword, "USER_PASSWORD");
Map(x => x.UserEmail, "USER_EMAIL");
Map(x => x.UserLanguage, "USER_LANGUAGE");
Map(x => x.UserEnabled, "USER_ENABLED");
HasManyToMany(x => x.Groups)
.Table("USER_GROUP_COMPOSITE")
.ParentKeyColumn("USER_ID")
.ChildKeyColumn("GROUP_ID")
.Cascade.All()
.Inverse();
}
public class GroupHeaderMap : ClassMap<GroupHeader>
{
public GroupHeaderMap()
{
Table("GROUP_HEADER");
Id(x => x.Id, "GROUP_ID");
Map(x => x.Name, "GROUP_NAME");
Map(x => x.Description, "GROUP_DESCRIPTION");
HasManyToMany(x => x.Users)
.Table("USER_GROUP_COMPOSITE")
.ParentKeyColumn("GROUP_ID")
.ChildKeyColumn("USER_ID");
}
}
什麼是所有的單元測試,你會寫這些?你會使用PersistenceSpecification類來單元測試這些嗎?
編輯:
我想用SqlLite但是從我的映射,如果我不是我產生什麼樣的模式?我仍然可以以某種方式將我的模式加載到SqlLite中嗎?另外我想知道如果測試SqlLite是否足夠。我們的產品至少需要運行MS SQL和Oracle。僅在SqlLite數據庫上進行測試是否符合我的要求?你也通常測試你已映射的每個實體(構造函數,屬性等)?
當您提到上述內容時,我添加了其他一些想到的問題。 – 2011-04-06 13:45:48
我只會補充說測試你的Fluent NH映射的UNIT是不夠的。當你觸摸實際的數據庫時,仍然有一百萬件事情可能會出錯。您應該始終使用真正的集成測試來備份這些測試。 – 2011-04-06 14:39:17
上面的URL似乎已經死了,但我在這裏找到了內容:https://github.com/jagregory/fluent-nhibernate/wiki/Persistence-specification-testing – rohancragg 2012-06-12 13:43:50