【发布时间】:2011-07-28 11:53:33
【问题描述】:
如果我想对具有引用属性的实体进行单元测试,最佳做法是什么?
BlogEntry 正在通过外键引用用户对象。现在我正在使用 session.Load 来避免异常,因为外键不能包含空值。
我可以以某种方式模拟这个吗?我不希望我的单元测试包含对数据库中“真实”用户的引用。
public class BlogEntry {
public virtual int ID {get;set;}
public virtual User CreatedBy {get;set;}
public virtual string Text {get;set;}
}
我目前正在使用以下测试方法:
[Test]
public void Create_blog_entry()
{
using (var session = sessionFactory.OpenSession())
using (var trans = session.BeginTransaction())
{
var entry = new BlogEntry(){
Text = "Lorem ipsum",
CreatedBy = session.Load<User>(1)
};
session.Save(entry);
trans.Rollback();
}
}
【问题讨论】:
标签: unit-testing nhibernate mocking nunit