在使用 NHibernate 进行持久性的项目中测试数据模型
Posted
技术标签:
【中文标题】在使用 NHibernate 进行持久性的项目中测试数据模型【英文标题】:Testing Data Model in project that uses NHibernate for persistence 【发布时间】:2009-11-20 20:56:21 【问题描述】:我还是 NHibernate 的新手,如果我在这方面有任何错误,请纠正我。
当您使用 NHibernate 从数据库记录构建对象集合时,NH 负责实例化您的集合并填充它们。
在编写实际上不使用 NH 的测试时,如何实例化 ISet 集合?
【问题讨论】:
【参考方案1】:您可以通过使用构造函数或直接在声明中实例化字段来实例化字段。使用 NHibernate 映射的类可以忽略持久性。
public class MyEntity
private readonly ISet<ChildEntity> children;
public MyEntity()
children = new HashedSet<ChildEntity>();
public IEnumerable<ChildEntity> Children
get return children;
public void AddChild(Child child)
children.Add(child);
【讨论】:
您也可以在字段中初始化您的集合: private readonly ISet假设您要测试的不是数据层本身(例如您的域逻辑),您可以简单地自己创建对象并用测试用例数据填充它们。或者你可能真的很偷偷摸摸地创建一个包含所有测试用例的数据库。
【讨论】:
以上是关于在使用 NHibernate 进行持久性的项目中测试数据模型的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Fluent 设置 NHibernate.Burrow?