- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
你会如何测试这个场景?
我刚刚开始研究 NHibernate 并在 TDD 上进行了第一次 bash。到目前为止,我真的很喜欢它,并且一直在使用 fluent-Nhibernate 来映射类。
但是,当谈到在 PersistenceSpecification 上使用 VerifyTheMappings 方法时,我似乎陷入了死胡同。
基本上我有两个类,Recipient 和 RecipientList。 RecipientList 类有一个到 Recipient 的映射,具有流畅的“HasMany”关系:
public class RecipientListMap : ClassMap<RecipientList>
{
public RecipientListMap()
{
Id(x => x.ID);
Map(x => x.ApplicationID);
Map(x => x.Name);
Map(x => x.IsDeleted);
HasMany<Recipient>(x => x.Recipients).WithKeyColumn("RecipientListID").AsList().LazyLoad();
}
}
但是,当我在测试中使用以下代码时:
private IList<Recipient> _recipients = new List<Recipient>()
{
new Recipient { FirstName = "Joe", LastName = "Bloggs", Email = "joe@bloggs.com", IsDeleted = false },
new Recipient { FirstName = "John", LastName = "Doe", Email = "john@doe.com", IsDeleted = false },
new Recipient { FirstName = "Jane", LastName = "Smith", Email = "john@smith.com", IsDeleted = false }
};
[Test]
public void Can_Add_RecipientList_To_Database()
{
new PersistenceSpecification<RecipientList>(Session)
.CheckProperty(x => x.Name, "My List")
.CheckProperty(x => x.Columns, "My columns")
.CheckProperty(x => x.IsDeleted, false)
.CheckProperty(x => x.ApplicationID, Guid.NewGuid())
.CheckProperty(x => x.Recipients, _recipients)
.VerifyTheMappings();
}
出现以下错误:
failed: System.ApplicationException : Expected 'System.Collections.Generic.List`1[Project.Data.Domains.Recipients.Recipient]' but got 'NHibernate.Collection.Generic.PersistentGenericBag`1[Project.Data.Domains.Recipients.Recipient]' for Property 'Recipients'
我可以看到错误是因为我传入了一个列表,而返回的列表是一个 PersistentGenericBag,因此抛出了错误。我不明白如果您不能只传入一个 IList,您应该如何测试它?
如有任何帮助,我们将不胜感激。
最佳答案
很愚蠢,我在 PeristenceSpecification 上使用了错误的方法。
我应该一直使用 CheckList 而不是 CheckProperty。
呃!
关于c# - 如何使用列表和关系对象测试 fluent-NHibernate 的 PersistenceSpecification.VerifyTheMappings?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/347602/
很久以前我已经在 Fluent NH 组中发布了这个,但直到今天才得到任何答复。所以,问题来了:我定义了一对多关系,并且一侧设置了反向标志。映射代码如下所示: public class Mapeame
我目前正在从事一个大学项目,我们在其中使用 Fluent NHibernate。我正在研究如何为我们的实体和 Fluent 映射创建测试。 但是,我在尝试弄清楚如何使用 PersistenceSpec
我正在使用 Fluent NHibernate 来映射一个类,该类具有这样的字符串集合: public class Foo { public virtual ICollection Strin
1)任何人都可以清楚地解释 SessionSource 的用途,为什么我要使用它而不是 Fluently.Configure(....BuildSessionFactory()? 2) Persist
我有两个问题。 1 。 FNH 不测试我的组件正确性,我不知道为什么。 System.ApplicationException: Expected 'DomainModel.Model.Publish
你会如何测试这个场景? 我刚刚开始研究 NHibernate 并在 TDD 上进行了第一次 bash。到目前为止,我真的很喜欢它,并且一直在使用 fluent-Nhibernate 来映射类。 但是,
我正在学习一些 Fluent NHibernate,并且遇到了半棒的 PersistenceSpecification 类。 我已在单元测试中对其进行设置以验证我的映射,并且效果很好。但是,完成后它会
不确定我问的问题是否正确,所以请多多包涵!一点 NHibernate 新手。 我们正在使用 Fluent NH 并且所有表都有以下 id 生成方案 public class IdGenerationC
我是一名优秀的程序员,十分优秀!